/export/starexec/sandbox/solver/bin/starexec_run_rcdcRelativeAlsoLower /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- KILLED proof of /export/starexec/sandbox/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), 275 ms] (4) CpxRelTRS (5) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] (6) TRS for Loop Detection (7) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxRelTRS (9) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (10) typed CpxTrs (11) OrderProof [LOWER BOUND(ID), 0 ms] (12) typed CpxTrs (13) RewriteLemmaProof [LOWER BOUND(ID), 5767 ms] (14) BOUNDS(1, INF) (15) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (16) CpxTRS (17) NonCtorToCtorProof [UPPER BOUND(ID), 0 ms] (18) CpxRelTRS (19) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (20) CpxWeightedTrs (21) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (22) CpxTypedWeightedTrs (23) CompletionProof [UPPER BOUND(ID), 0 ms] (24) CpxTypedWeightedCompleteTrs (25) NarrowingProof [BOTH BOUNDS(ID, ID), 695 ms] (26) CpxTypedWeightedCompleteTrs (27) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 12 ms] (28) CpxRNTS (29) SimplificationProof [BOTH BOUNDS(ID, ID), 1 ms] (30) CpxRNTS (31) CompletionProof [UPPER BOUND(ID), 0 ms] (32) CpxTypedWeightedCompleteTrs (33) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (34) CpxRNTS (35) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (36) CdtProblem (37) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (38) CdtProblem (39) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (40) CdtProblem (41) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (42) CdtProblem (43) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (44) CdtProblem (45) CdtUsableRulesProof [BOTH BOUNDS(ID, ID), 43 ms] (46) CdtProblem (47) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (48) CdtProblem (49) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (50) CdtProblem (51) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (52) CdtProblem (53) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 3 ms] (54) CdtProblem (55) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (56) CdtProblem (57) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CdtProblem (59) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (60) CdtProblem (61) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 5 ms] (62) CdtProblem (63) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (64) CdtProblem (65) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (66) CdtProblem (67) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (68) CdtProblem (69) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (70) CdtProblem (71) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (72) CdtProblem (73) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 9 ms] (74) CdtProblem (75) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (76) CdtProblem (77) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (78) CdtProblem (79) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (80) CdtProblem (81) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (82) CdtProblem (83) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (84) CdtProblem (85) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (86) CdtProblem (87) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (88) CdtProblem (89) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 45 ms] (90) CdtProblem (91) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (92) CdtProblem (93) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (94) CdtProblem (95) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (96) CdtProblem (97) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (98) CdtProblem (99) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (100) CdtProblem (101) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (102) CdtProblem (103) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 5 ms] (104) CdtProblem (105) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (106) CdtProblem (107) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (108) CdtProblem (109) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (110) CdtProblem (111) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (112) CdtProblem (113) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (114) CdtProblem (115) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (116) CdtProblem (117) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (118) CdtProblem (119) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (120) CdtProblem (121) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (122) CdtProblem (123) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 13 ms] (124) CdtProblem (125) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 9 ms] (126) CdtProblem (127) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (128) CdtProblem (129) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (130) CdtProblem (131) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (132) CdtProblem (133) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 26 ms] (134) CdtProblem (135) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (136) CdtProblem (137) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (138) CdtProblem (139) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (140) CdtProblem (141) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 7 ms] (142) CdtProblem (143) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 3 ms] (144) CdtProblem (145) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (146) CdtProblem (147) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (148) CdtProblem (149) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 197 ms] (150) CdtProblem (151) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (152) CdtProblem (153) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 210 ms] (154) CdtProblem (155) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 13 ms] (156) CdtProblem (157) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 118 ms] (158) CdtProblem (159) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 40 ms] (160) CdtProblem (161) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 101 ms] (162) CdtProblem (163) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 20 ms] (164) CdtProblem (165) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 258 ms] (166) CdtProblem (167) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 38 ms] (168) CdtProblem (169) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 332 ms] (170) CdtProblem (171) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 50 ms] (172) CdtProblem (173) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 347 ms] (174) CdtProblem (175) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 36 ms] (176) CdtProblem (177) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 246 ms] (178) CdtProblem (179) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 37 ms] (180) CdtProblem (181) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 195 ms] (182) CdtProblem (183) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 27 ms] (184) 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(zeros) -> mark(cons(0, zeros)) active(and(tt, X)) -> mark(X) active(length(nil)) -> mark(0) active(length(cons(N, L))) -> mark(s(length(L))) active(take(0, IL)) -> mark(nil) active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) mark(zeros) -> active(zeros) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(0) -> active(0) mark(and(X1, X2)) -> active(and(mark(X1), X2)) mark(tt) -> active(tt) mark(length(X)) -> active(length(mark(X))) mark(nil) -> active(nil) mark(s(X)) -> active(s(mark(X))) mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))) 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) 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) length(mark(X)) -> length(X) length(active(X)) -> length(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) 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) 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(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_length(x_1)) -> length(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_zeros -> zeros encode_mark(x_1) -> mark(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_tt -> tt encode_length(x_1) -> length(encArg(x_1)) encode_nil -> nil encode_s(x_1) -> s(encArg(x_1)) encode_take(x_1, x_2) -> take(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(zeros) -> mark(cons(0, zeros)) active(and(tt, X)) -> mark(X) active(length(nil)) -> mark(0) active(length(cons(N, L))) -> mark(s(length(L))) active(take(0, IL)) -> mark(nil) active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) mark(zeros) -> active(zeros) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(0) -> active(0) mark(and(X1, X2)) -> active(and(mark(X1), X2)) mark(tt) -> active(tt) mark(length(X)) -> active(length(mark(X))) mark(nil) -> active(nil) mark(s(X)) -> active(s(mark(X))) mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))) 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) 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) length(mark(X)) -> length(X) length(active(X)) -> length(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) 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) The (relative) TRS S consists of the following rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_length(x_1)) -> length(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_zeros -> zeros encode_mark(x_1) -> mark(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_tt -> tt encode_length(x_1) -> length(encArg(x_1)) encode_nil -> nil encode_s(x_1) -> s(encArg(x_1)) encode_take(x_1, x_2) -> take(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(zeros) -> mark(cons(0, zeros)) active(and(tt, X)) -> mark(X) active(length(nil)) -> mark(0) active(length(cons(N, L))) -> mark(s(length(L))) active(take(0, IL)) -> mark(nil) active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) mark(zeros) -> active(zeros) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(0) -> active(0) mark(and(X1, X2)) -> active(and(mark(X1), X2)) mark(tt) -> active(tt) mark(length(X)) -> active(length(mark(X))) mark(nil) -> active(nil) mark(s(X)) -> active(s(mark(X))) mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))) 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) 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) length(mark(X)) -> length(X) length(active(X)) -> length(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) 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) The (relative) TRS S consists of the following rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_length(x_1)) -> length(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_zeros -> zeros encode_mark(x_1) -> mark(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_tt -> tt encode_length(x_1) -> length(encArg(x_1)) encode_nil -> nil encode_s(x_1) -> s(encArg(x_1)) encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) Rewrite Strategy: INNERMOST ---------------------------------------- (5) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (6) 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(zeros) -> mark(cons(0, zeros)) active(and(tt, X)) -> mark(X) active(length(nil)) -> mark(0) active(length(cons(N, L))) -> mark(s(length(L))) active(take(0, IL)) -> mark(nil) active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) mark(zeros) -> active(zeros) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(0) -> active(0) mark(and(X1, X2)) -> active(and(mark(X1), X2)) mark(tt) -> active(tt) mark(length(X)) -> active(length(mark(X))) mark(nil) -> active(nil) mark(s(X)) -> active(s(mark(X))) mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))) 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) 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) length(mark(X)) -> length(X) length(active(X)) -> length(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) 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) The (relative) TRS S consists of the following rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_length(x_1)) -> length(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_zeros -> zeros encode_mark(x_1) -> mark(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_tt -> tt encode_length(x_1) -> length(encArg(x_1)) encode_nil -> nil encode_s(x_1) -> s(encArg(x_1)) encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) Rewrite Strategy: INNERMOST ---------------------------------------- (7) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (8) 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)) active(and(tt, X)) -> mark(X) active(length(nil)) -> mark(0') active(length(cons(N, L))) -> mark(s(length(L))) active(take(0', IL)) -> mark(nil) active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) mark(zeros) -> active(zeros) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(0') -> active(0') mark(and(X1, X2)) -> active(and(mark(X1), X2)) mark(tt) -> active(tt) mark(length(X)) -> active(length(mark(X))) mark(nil) -> active(nil) mark(s(X)) -> active(s(mark(X))) mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))) 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) 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) length(mark(X)) -> length(X) length(active(X)) -> length(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) 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) The (relative) TRS S consists of the following rules: encArg(zeros) -> zeros encArg(0') -> 0' encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_length(x_1)) -> length(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_zeros -> zeros encode_mark(x_1) -> mark(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_tt -> tt encode_length(x_1) -> length(encArg(x_1)) encode_nil -> nil encode_s(x_1) -> s(encArg(x_1)) encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) Rewrite Strategy: INNERMOST ---------------------------------------- (9) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (10) Obligation: Innermost TRS: Rules: active(zeros) -> mark(cons(0', zeros)) active(and(tt, X)) -> mark(X) active(length(nil)) -> mark(0') active(length(cons(N, L))) -> mark(s(length(L))) active(take(0', IL)) -> mark(nil) active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) mark(zeros) -> active(zeros) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(0') -> active(0') mark(and(X1, X2)) -> active(and(mark(X1), X2)) mark(tt) -> active(tt) mark(length(X)) -> active(length(mark(X))) mark(nil) -> active(nil) mark(s(X)) -> active(s(mark(X))) mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))) 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) 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) length(mark(X)) -> length(X) length(active(X)) -> length(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) 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) encArg(zeros) -> zeros encArg(0') -> 0' encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_length(x_1)) -> length(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_zeros -> zeros encode_mark(x_1) -> mark(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_tt -> tt encode_length(x_1) -> length(encArg(x_1)) encode_nil -> nil encode_s(x_1) -> s(encArg(x_1)) encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) Types: active :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take zeros :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take mark :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take 0' :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take and :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take tt :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take length :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take nil :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take s :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take take :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encArg :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_active :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_mark :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_cons :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_and :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_length :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_s :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_take :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_active :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_zeros :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_mark :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_cons :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_0 :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_and :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_tt :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_length :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_nil :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_s :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_take :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take hole_zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take1_3 :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take gen_zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take2_3 :: Nat -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take ---------------------------------------- (11) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: active, mark, cons, s, length, take, and, encArg They will be analysed ascendingly in the following order: active = mark cons < active s < active length < active take < active active < encArg cons < mark s < mark length < mark take < mark and < mark mark < encArg cons < encArg s < encArg length < encArg take < encArg and < encArg ---------------------------------------- (12) Obligation: Innermost TRS: Rules: active(zeros) -> mark(cons(0', zeros)) active(and(tt, X)) -> mark(X) active(length(nil)) -> mark(0') active(length(cons(N, L))) -> mark(s(length(L))) active(take(0', IL)) -> mark(nil) active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) mark(zeros) -> active(zeros) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(0') -> active(0') mark(and(X1, X2)) -> active(and(mark(X1), X2)) mark(tt) -> active(tt) mark(length(X)) -> active(length(mark(X))) mark(nil) -> active(nil) mark(s(X)) -> active(s(mark(X))) mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))) 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) 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) length(mark(X)) -> length(X) length(active(X)) -> length(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) 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) encArg(zeros) -> zeros encArg(0') -> 0' encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_length(x_1)) -> length(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_zeros -> zeros encode_mark(x_1) -> mark(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_tt -> tt encode_length(x_1) -> length(encArg(x_1)) encode_nil -> nil encode_s(x_1) -> s(encArg(x_1)) encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) Types: active :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take zeros :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take mark :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take 0' :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take and :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take tt :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take length :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take nil :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take s :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take take :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encArg :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_active :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_mark :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_cons :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_and :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_length :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_s :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_take :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_active :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_zeros :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_mark :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_cons :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_0 :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_and :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_tt :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_length :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_nil :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_s :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_take :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take hole_zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take1_3 :: zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take gen_zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take2_3 :: Nat -> zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take Generator Equations: gen_zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take2_3(0) <=> zeros gen_zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take2_3(+(x, 1)) <=> cons_active(gen_zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take2_3(x)) The following defined symbols remain to be analysed: cons, active, mark, s, length, take, and, encArg They will be analysed ascendingly in the following order: active = mark cons < active s < active length < active take < active active < encArg cons < mark s < mark length < mark take < mark and < mark mark < encArg cons < encArg s < encArg length < encArg take < encArg and < encArg ---------------------------------------- (13) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: encArg(gen_zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take2_3(+(1, n15135_3))) -> *3_3, rt in Omega(0) Induction Base: encArg(gen_zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take2_3(+(1, 0))) Induction Step: encArg(gen_zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take2_3(+(1, +(n15135_3, 1)))) ->_R^Omega(0) active(encArg(gen_zeros:0':tt:nil:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take2_3(+(1, n15135_3)))) ->_IH active(*3_3) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (14) BOUNDS(1, INF) ---------------------------------------- (15) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (16) 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(zeros) -> mark(cons(0, zeros)) active(and(tt, X)) -> mark(X) active(length(nil)) -> mark(0) active(length(cons(N, L))) -> mark(s(length(L))) active(take(0, IL)) -> mark(nil) active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL))) mark(zeros) -> active(zeros) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(0) -> active(0) mark(and(X1, X2)) -> active(and(mark(X1), X2)) mark(tt) -> active(tt) mark(length(X)) -> active(length(mark(X))) mark(nil) -> active(nil) mark(s(X)) -> active(s(mark(X))) mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))) 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) 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) length(mark(X)) -> length(X) length(active(X)) -> length(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) 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) encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_length(x_1)) -> length(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_zeros -> zeros encode_mark(x_1) -> mark(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_tt -> tt encode_length(x_1) -> length(encArg(x_1)) encode_nil -> nil encode_s(x_1) -> s(encArg(x_1)) encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (17) NonCtorToCtorProof (UPPER BOUND(ID)) transformed non-ctor to ctor-system ---------------------------------------- (18) 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(zeros) -> active(zeros) mark(0) -> active(0) mark(tt) -> active(tt) mark(nil) -> active(nil) take(X1, c_active(X2)) -> take(X1, X2) mark(c_s(X)) -> active(s(mark(X))) cons(c_mark(X1), X2) -> cons(X1, X2) s(c_active(X)) -> s(X) length(c_mark(X)) -> length(X) and(c_active(X1), X2) -> and(X1, X2) cons(X1, c_active(X2)) -> cons(X1, X2) mark(c_and(X1, X2)) -> active(and(mark(X1), X2)) mark(c_take(X1, X2)) -> active(take(mark(X1), mark(X2))) cons(X1, c_mark(X2)) -> cons(X1, X2) take(c_mark(X1), X2) -> take(X1, X2) active(c_length(nil)) -> mark(0) mark(c_length(X)) -> active(length(mark(X))) take(X1, c_mark(X2)) -> take(X1, X2) active(c_take(0, IL)) -> mark(nil) s(c_mark(X)) -> s(X) take(c_active(X1), X2) -> take(X1, X2) active(c_take(c_s(M), c_cons(N, IL))) -> mark(cons(N, take(M, IL))) active(c_and(tt, X)) -> mark(X) length(c_active(X)) -> length(X) cons(c_active(X1), X2) -> cons(X1, X2) mark(c_cons(X1, X2)) -> active(cons(mark(X1), X2)) active(c_length(c_cons(N, L))) -> mark(s(length(L))) and(X1, c_mark(X2)) -> and(X1, X2) and(c_mark(X1), X2) -> and(X1, X2) and(X1, c_active(X2)) -> and(X1, X2) The (relative) TRS S consists of the following rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_length(x_1)) -> length(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_zeros -> zeros encode_mark(x_1) -> mark(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_tt -> tt encode_length(x_1) -> length(encArg(x_1)) encode_nil -> nil encode_s(x_1) -> s(encArg(x_1)) encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) s(x0) -> c_s(x0) active(x0) -> c_active(x0) length(x0) -> c_length(x0) take(x0, x1) -> c_take(x0, x1) cons(x0, x1) -> c_cons(x0, x1) and(x0, x1) -> c_and(x0, x1) mark(x0) -> c_mark(x0) Rewrite Strategy: INNERMOST ---------------------------------------- (19) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (20) 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(zeros) -> active(zeros) [1] mark(0) -> active(0) [1] mark(tt) -> active(tt) [1] mark(nil) -> active(nil) [1] take(X1, c_active(X2)) -> take(X1, X2) [1] mark(c_s(X)) -> active(s(mark(X))) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] s(c_active(X)) -> s(X) [1] length(c_mark(X)) -> length(X) [1] and(c_active(X1), X2) -> and(X1, X2) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] mark(c_and(X1, X2)) -> active(and(mark(X1), X2)) [1] mark(c_take(X1, X2)) -> active(take(mark(X1), mark(X2))) [1] cons(X1, c_mark(X2)) -> cons(X1, X2) [1] take(c_mark(X1), X2) -> take(X1, X2) [1] active(c_length(nil)) -> mark(0) [1] mark(c_length(X)) -> active(length(mark(X))) [1] take(X1, c_mark(X2)) -> take(X1, X2) [1] active(c_take(0, IL)) -> mark(nil) [1] s(c_mark(X)) -> s(X) [1] take(c_active(X1), X2) -> take(X1, X2) [1] active(c_take(c_s(M), c_cons(N, IL))) -> mark(cons(N, take(M, IL))) [1] active(c_and(tt, X)) -> mark(X) [1] length(c_active(X)) -> length(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] mark(c_cons(X1, X2)) -> active(cons(mark(X1), X2)) [1] active(c_length(c_cons(N, L))) -> mark(s(length(L))) [1] and(X1, c_mark(X2)) -> and(X1, X2) [1] and(c_mark(X1), X2) -> and(X1, X2) [1] and(X1, c_active(X2)) -> and(X1, X2) [1] encArg(zeros) -> zeros [0] encArg(0) -> 0 [0] encArg(tt) -> tt [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_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) [0] encArg(cons_length(x_1)) -> length(encArg(x_1)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_zeros -> zeros [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) [0] encode_tt -> tt [0] encode_length(x_1) -> length(encArg(x_1)) [0] encode_nil -> nil [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] length(x0) -> c_length(x0) [0] take(x0, x1) -> c_take(x0, x1) [0] cons(x0, x1) -> c_cons(x0, x1) [0] and(x0, x1) -> c_and(x0, x1) [0] mark(x0) -> c_mark(x0) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (21) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (22) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: active(zeros) -> mark(cons(0, zeros)) [1] mark(zeros) -> active(zeros) [1] mark(0) -> active(0) [1] mark(tt) -> active(tt) [1] mark(nil) -> active(nil) [1] take(X1, c_active(X2)) -> take(X1, X2) [1] mark(c_s(X)) -> active(s(mark(X))) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] s(c_active(X)) -> s(X) [1] length(c_mark(X)) -> length(X) [1] and(c_active(X1), X2) -> and(X1, X2) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] mark(c_and(X1, X2)) -> active(and(mark(X1), X2)) [1] mark(c_take(X1, X2)) -> active(take(mark(X1), mark(X2))) [1] cons(X1, c_mark(X2)) -> cons(X1, X2) [1] take(c_mark(X1), X2) -> take(X1, X2) [1] active(c_length(nil)) -> mark(0) [1] mark(c_length(X)) -> active(length(mark(X))) [1] take(X1, c_mark(X2)) -> take(X1, X2) [1] active(c_take(0, IL)) -> mark(nil) [1] s(c_mark(X)) -> s(X) [1] take(c_active(X1), X2) -> take(X1, X2) [1] active(c_take(c_s(M), c_cons(N, IL))) -> mark(cons(N, take(M, IL))) [1] active(c_and(tt, X)) -> mark(X) [1] length(c_active(X)) -> length(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] mark(c_cons(X1, X2)) -> active(cons(mark(X1), X2)) [1] active(c_length(c_cons(N, L))) -> mark(s(length(L))) [1] and(X1, c_mark(X2)) -> and(X1, X2) [1] and(c_mark(X1), X2) -> and(X1, X2) [1] and(X1, c_active(X2)) -> and(X1, X2) [1] encArg(zeros) -> zeros [0] encArg(0) -> 0 [0] encArg(tt) -> tt [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_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) [0] encArg(cons_length(x_1)) -> length(encArg(x_1)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_zeros -> zeros [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) [0] encode_tt -> tt [0] encode_length(x_1) -> length(encArg(x_1)) [0] encode_nil -> nil [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] length(x0) -> c_length(x0) [0] take(x0, x1) -> c_take(x0, x1) [0] cons(x0, x1) -> c_cons(x0, x1) [0] and(x0, x1) -> c_and(x0, x1) [0] mark(x0) -> c_mark(x0) [0] The TRS has the following type information: active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take zeros :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take 0 :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take tt :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take nil :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take c_active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take c_s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take c_mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take c_and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take c_take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take c_length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take c_cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encArg :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take cons_take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_zeros :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_0 :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_tt :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_nil :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take encode_take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take Rewrite Strategy: INNERMOST ---------------------------------------- (23) 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_zeros encode_mark_1 encode_cons_2 encode_0 encode_and_2 encode_tt encode_length_1 encode_nil encode_s_1 encode_take_2 s_1 active_1 length_1 take_2 cons_2 and_2 mark_1 Due to the following rules being added: encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_zeros -> null_encode_zeros [0] encode_mark(v0) -> null_encode_mark [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_0 -> null_encode_0 [0] encode_and(v0, v1) -> null_encode_and [0] encode_tt -> null_encode_tt [0] encode_length(v0) -> null_encode_length [0] encode_nil -> null_encode_nil [0] encode_s(v0) -> null_encode_s [0] encode_take(v0, v1) -> null_encode_take [0] s(v0) -> null_s [0] active(v0) -> null_active [0] length(v0) -> null_length [0] take(v0, v1) -> null_take [0] cons(v0, v1) -> null_cons [0] and(v0, v1) -> null_and [0] mark(v0) -> null_mark [0] And the following fresh constants: null_encArg, null_encode_active, null_encode_zeros, null_encode_mark, null_encode_cons, null_encode_0, null_encode_and, null_encode_tt, null_encode_length, null_encode_nil, null_encode_s, null_encode_take, null_s, null_active, null_length, null_take, null_cons, null_and, null_mark ---------------------------------------- (24) 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(zeros) -> active(zeros) [1] mark(0) -> active(0) [1] mark(tt) -> active(tt) [1] mark(nil) -> active(nil) [1] take(X1, c_active(X2)) -> take(X1, X2) [1] mark(c_s(X)) -> active(s(mark(X))) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] s(c_active(X)) -> s(X) [1] length(c_mark(X)) -> length(X) [1] and(c_active(X1), X2) -> and(X1, X2) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] mark(c_and(X1, X2)) -> active(and(mark(X1), X2)) [1] mark(c_take(X1, X2)) -> active(take(mark(X1), mark(X2))) [1] cons(X1, c_mark(X2)) -> cons(X1, X2) [1] take(c_mark(X1), X2) -> take(X1, X2) [1] active(c_length(nil)) -> mark(0) [1] mark(c_length(X)) -> active(length(mark(X))) [1] take(X1, c_mark(X2)) -> take(X1, X2) [1] active(c_take(0, IL)) -> mark(nil) [1] s(c_mark(X)) -> s(X) [1] take(c_active(X1), X2) -> take(X1, X2) [1] active(c_take(c_s(M), c_cons(N, IL))) -> mark(cons(N, take(M, IL))) [1] active(c_and(tt, X)) -> mark(X) [1] length(c_active(X)) -> length(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] mark(c_cons(X1, X2)) -> active(cons(mark(X1), X2)) [1] active(c_length(c_cons(N, L))) -> mark(s(length(L))) [1] and(X1, c_mark(X2)) -> and(X1, X2) [1] and(c_mark(X1), X2) -> and(X1, X2) [1] and(X1, c_active(X2)) -> and(X1, X2) [1] encArg(zeros) -> zeros [0] encArg(0) -> 0 [0] encArg(tt) -> tt [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_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) [0] encArg(cons_length(x_1)) -> length(encArg(x_1)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_zeros -> zeros [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) [0] encode_tt -> tt [0] encode_length(x_1) -> length(encArg(x_1)) [0] encode_nil -> nil [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] length(x0) -> c_length(x0) [0] take(x0, x1) -> c_take(x0, x1) [0] cons(x0, x1) -> c_cons(x0, x1) [0] and(x0, x1) -> c_and(x0, x1) [0] mark(x0) -> c_mark(x0) [0] encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_zeros -> null_encode_zeros [0] encode_mark(v0) -> null_encode_mark [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_0 -> null_encode_0 [0] encode_and(v0, v1) -> null_encode_and [0] encode_tt -> null_encode_tt [0] encode_length(v0) -> null_encode_length [0] encode_nil -> null_encode_nil [0] encode_s(v0) -> null_encode_s [0] encode_take(v0, v1) -> null_encode_take [0] s(v0) -> null_s [0] active(v0) -> null_active [0] length(v0) -> null_length [0] take(v0, v1) -> null_take [0] cons(v0, v1) -> null_cons [0] and(v0, v1) -> null_and [0] mark(v0) -> null_mark [0] The TRS has the following type information: active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark zeros :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark 0 :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark tt :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark nil :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encArg :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_zeros :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_0 :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_tt :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_nil :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encArg :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_zeros :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_0 :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_tt :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_nil :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark Rewrite Strategy: INNERMOST ---------------------------------------- (25) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (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(c_cons(0, zeros)) [1] active(zeros) -> mark(null_cons) [1] mark(zeros) -> active(zeros) [1] mark(0) -> active(0) [1] mark(tt) -> active(tt) [1] mark(nil) -> active(nil) [1] take(X1, c_active(X2)) -> take(X1, X2) [1] mark(c_s(zeros)) -> active(s(active(zeros))) [2] mark(c_s(0)) -> active(s(active(0))) [2] mark(c_s(tt)) -> active(s(active(tt))) [2] mark(c_s(nil)) -> active(s(active(nil))) [2] mark(c_s(c_s(X'))) -> active(s(active(s(mark(X'))))) [2] mark(c_s(c_and(X1', X2'))) -> active(s(active(and(mark(X1'), X2')))) [2] mark(c_s(c_take(X1'', X2''))) -> active(s(active(take(mark(X1''), mark(X2''))))) [2] mark(c_s(c_length(X''))) -> active(s(active(length(mark(X''))))) [2] mark(c_s(c_cons(X11, X21))) -> active(s(active(cons(mark(X11), X21)))) [2] mark(c_s(X)) -> active(s(c_mark(X))) [1] mark(c_s(X)) -> active(s(null_mark)) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] s(c_active(X)) -> s(X) [1] length(c_mark(X)) -> length(X) [1] and(c_active(X1), X2) -> and(X1, X2) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] mark(c_and(zeros, X2)) -> active(and(active(zeros), X2)) [2] mark(c_and(0, X2)) -> active(and(active(0), X2)) [2] mark(c_and(tt, X2)) -> active(and(active(tt), X2)) [2] mark(c_and(nil, X2)) -> active(and(active(nil), X2)) [2] mark(c_and(c_s(X3), X2)) -> active(and(active(s(mark(X3))), X2)) [2] mark(c_and(c_and(X12, X22), X2)) -> active(and(active(and(mark(X12), X22)), X2)) [2] mark(c_and(c_take(X13, X23), X2)) -> active(and(active(take(mark(X13), mark(X23))), X2)) [2] mark(c_and(c_length(X4), X2)) -> active(and(active(length(mark(X4))), X2)) [2] mark(c_and(c_cons(X14, X24), X2)) -> active(and(active(cons(mark(X14), X24)), X2)) [2] mark(c_and(X1, X2)) -> active(and(c_mark(X1), X2)) [1] mark(c_and(X1, X2)) -> active(and(null_mark, X2)) [1] mark(c_take(X1, X2)) -> active(take(mark(X1), mark(X2))) [1] cons(X1, c_mark(X2)) -> cons(X1, X2) [1] take(c_mark(X1), X2) -> take(X1, X2) [1] active(c_length(nil)) -> mark(0) [1] mark(c_length(zeros)) -> active(length(active(zeros))) [2] mark(c_length(0)) -> active(length(active(0))) [2] mark(c_length(tt)) -> active(length(active(tt))) [2] mark(c_length(nil)) -> active(length(active(nil))) [2] mark(c_length(c_s(X47))) -> active(length(active(s(mark(X47))))) [2] mark(c_length(c_and(X141, X241))) -> active(length(active(and(mark(X141), X241)))) [2] mark(c_length(c_take(X142, X242))) -> active(length(active(take(mark(X142), mark(X242))))) [2] mark(c_length(c_length(X48))) -> active(length(active(length(mark(X48))))) [2] mark(c_length(c_cons(X143, X243))) -> active(length(active(cons(mark(X143), X243)))) [2] mark(c_length(X)) -> active(length(c_mark(X))) [1] mark(c_length(X)) -> active(length(null_mark)) [1] take(X1, c_mark(X2)) -> take(X1, X2) [1] active(c_take(0, IL)) -> mark(nil) [1] s(c_mark(X)) -> s(X) [1] take(c_active(X1), X2) -> take(X1, X2) [1] active(c_take(c_s(M), c_cons(N, c_active(X244)))) -> mark(cons(N, take(M, X244))) [2] active(c_take(c_s(c_mark(X144)), c_cons(N, IL))) -> mark(cons(N, take(X144, IL))) [2] active(c_take(c_s(M), c_cons(N, c_mark(X245)))) -> mark(cons(N, take(M, X245))) [2] active(c_take(c_s(c_active(X145)), c_cons(N, IL))) -> mark(cons(N, take(X145, IL))) [2] active(c_take(c_s(M), c_cons(N, IL))) -> mark(cons(N, c_take(M, IL))) [1] active(c_take(c_s(M), c_cons(N, IL))) -> mark(cons(N, null_take)) [1] active(c_and(tt, X)) -> mark(X) [1] length(c_active(X)) -> length(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] mark(c_cons(zeros, X2)) -> active(cons(active(zeros), X2)) [2] mark(c_cons(0, X2)) -> active(cons(active(0), X2)) [2] mark(c_cons(tt, X2)) -> active(cons(active(tt), X2)) [2] mark(c_cons(nil, X2)) -> active(cons(active(nil), X2)) [2] mark(c_cons(c_s(X49), X2)) -> active(cons(active(s(mark(X49))), X2)) [2] mark(c_cons(c_and(X146, X246), X2)) -> active(cons(active(and(mark(X146), X246)), X2)) [2] mark(c_cons(c_take(X147, X247), X2)) -> active(cons(active(take(mark(X147), mark(X247))), X2)) [2] mark(c_cons(c_length(X50), X2)) -> active(cons(active(length(mark(X50))), X2)) [2] mark(c_cons(c_cons(X148, X248), X2)) -> active(cons(active(cons(mark(X148), X248)), X2)) [2] mark(c_cons(X1, X2)) -> active(cons(c_mark(X1), X2)) [1] mark(c_cons(X1, X2)) -> active(cons(null_mark, X2)) [1] active(c_length(c_cons(N, c_mark(X51)))) -> mark(s(length(X51))) [2] active(c_length(c_cons(N, c_active(X52)))) -> mark(s(length(X52))) [2] active(c_length(c_cons(N, L))) -> mark(s(c_length(L))) [1] active(c_length(c_cons(N, L))) -> mark(s(null_length)) [1] and(X1, c_mark(X2)) -> and(X1, X2) [1] and(c_mark(X1), X2) -> and(X1, X2) [1] and(X1, c_active(X2)) -> and(X1, X2) [1] encArg(zeros) -> zeros [0] encArg(0) -> 0 [0] encArg(tt) -> tt [0] encArg(nil) -> nil [0] encArg(cons_active(zeros)) -> active(zeros) [0] encArg(cons_active(0)) -> active(0) [0] encArg(cons_active(tt)) -> active(tt) [0] encArg(cons_active(nil)) -> active(nil) [0] encArg(cons_active(cons_active(x_1'))) -> active(active(encArg(x_1'))) [0] encArg(cons_active(cons_mark(x_1''))) -> active(mark(encArg(x_1''))) [0] encArg(cons_active(cons_cons(x_11, x_2'))) -> active(cons(encArg(x_11), encArg(x_2'))) [0] encArg(cons_active(cons_and(x_12, x_2''))) -> active(and(encArg(x_12), encArg(x_2''))) [0] encArg(cons_active(cons_length(x_13))) -> active(length(encArg(x_13))) [0] encArg(cons_active(cons_s(x_14))) -> active(s(encArg(x_14))) [0] encArg(cons_active(cons_take(x_15, x_21))) -> active(take(encArg(x_15), encArg(x_21))) [0] encArg(cons_active(x_1)) -> active(null_encArg) [0] encArg(cons_mark(zeros)) -> mark(zeros) [0] encArg(cons_mark(0)) -> mark(0) [0] encArg(cons_mark(tt)) -> mark(tt) [0] encArg(cons_mark(nil)) -> mark(nil) [0] encArg(cons_mark(cons_active(x_16))) -> mark(active(encArg(x_16))) [0] encArg(cons_mark(cons_mark(x_17))) -> mark(mark(encArg(x_17))) [0] encArg(cons_mark(cons_cons(x_18, x_22))) -> mark(cons(encArg(x_18), encArg(x_22))) [0] encArg(cons_mark(cons_and(x_19, x_23))) -> mark(and(encArg(x_19), encArg(x_23))) [0] encArg(cons_mark(cons_length(x_110))) -> mark(length(encArg(x_110))) [0] encArg(cons_mark(cons_s(x_111))) -> mark(s(encArg(x_111))) [0] encArg(cons_mark(cons_take(x_112, x_24))) -> mark(take(encArg(x_112), encArg(x_24))) [0] encArg(cons_mark(x_1)) -> mark(null_encArg) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) [0] encArg(cons_length(zeros)) -> length(zeros) [0] encArg(cons_length(0)) -> length(0) [0] encArg(cons_length(tt)) -> length(tt) [0] encArg(cons_length(nil)) -> length(nil) [0] encArg(cons_length(cons_active(x_1195))) -> length(active(encArg(x_1195))) [0] encArg(cons_length(cons_mark(x_1196))) -> length(mark(encArg(x_1196))) [0] encArg(cons_length(cons_cons(x_1197, x_283))) -> length(cons(encArg(x_1197), encArg(x_283))) [0] encArg(cons_length(cons_and(x_1198, x_284))) -> length(and(encArg(x_1198), encArg(x_284))) [0] encArg(cons_length(cons_length(x_1199))) -> length(length(encArg(x_1199))) [0] encArg(cons_length(cons_s(x_1200))) -> length(s(encArg(x_1200))) [0] encArg(cons_length(cons_take(x_1201, x_285))) -> length(take(encArg(x_1201), encArg(x_285))) [0] encArg(cons_length(x_1)) -> length(null_encArg) [0] encArg(cons_s(zeros)) -> s(zeros) [0] encArg(cons_s(0)) -> s(0) [0] encArg(cons_s(tt)) -> s(tt) [0] encArg(cons_s(nil)) -> s(nil) [0] encArg(cons_s(cons_active(x_1202))) -> s(active(encArg(x_1202))) [0] encArg(cons_s(cons_mark(x_1203))) -> s(mark(encArg(x_1203))) [0] encArg(cons_s(cons_cons(x_1204, x_286))) -> s(cons(encArg(x_1204), encArg(x_286))) [0] encArg(cons_s(cons_and(x_1205, x_287))) -> s(and(encArg(x_1205), encArg(x_287))) [0] encArg(cons_s(cons_length(x_1206))) -> s(length(encArg(x_1206))) [0] encArg(cons_s(cons_s(x_1207))) -> s(s(encArg(x_1207))) [0] encArg(cons_s(cons_take(x_1208, x_288))) -> s(take(encArg(x_1208), encArg(x_288))) [0] encArg(cons_s(x_1)) -> s(null_encArg) [0] encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) [0] encode_active(zeros) -> active(zeros) [0] encode_active(0) -> active(0) [0] encode_active(tt) -> active(tt) [0] encode_active(nil) -> active(nil) [0] encode_active(cons_active(x_1300)) -> active(active(encArg(x_1300))) [0] encode_active(cons_mark(x_1301)) -> active(mark(encArg(x_1301))) [0] encode_active(cons_cons(x_1302, x_2128)) -> active(cons(encArg(x_1302), encArg(x_2128))) [0] encode_active(cons_and(x_1303, x_2129)) -> active(and(encArg(x_1303), encArg(x_2129))) [0] encode_active(cons_length(x_1304)) -> active(length(encArg(x_1304))) [0] encode_active(cons_s(x_1305)) -> active(s(encArg(x_1305))) [0] encode_active(cons_take(x_1306, x_2130)) -> active(take(encArg(x_1306), encArg(x_2130))) [0] encode_active(x_1) -> active(null_encArg) [0] encode_zeros -> zeros [0] encode_mark(zeros) -> mark(zeros) [0] encode_mark(0) -> mark(0) [0] encode_mark(tt) -> mark(tt) [0] encode_mark(nil) -> mark(nil) [0] encode_mark(cons_active(x_1307)) -> mark(active(encArg(x_1307))) [0] encode_mark(cons_mark(x_1308)) -> mark(mark(encArg(x_1308))) [0] encode_mark(cons_cons(x_1309, x_2131)) -> mark(cons(encArg(x_1309), encArg(x_2131))) [0] encode_mark(cons_and(x_1310, x_2132)) -> mark(and(encArg(x_1310), encArg(x_2132))) [0] encode_mark(cons_length(x_1311)) -> mark(length(encArg(x_1311))) [0] encode_mark(cons_s(x_1312)) -> mark(s(encArg(x_1312))) [0] encode_mark(cons_take(x_1313, x_2133)) -> mark(take(encArg(x_1313), encArg(x_2133))) [0] encode_mark(x_1) -> mark(null_encArg) [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) [0] encode_tt -> tt [0] encode_length(zeros) -> length(zeros) [0] encode_length(0) -> length(0) [0] encode_length(tt) -> length(tt) [0] encode_length(nil) -> length(nil) [0] encode_length(cons_active(x_1496)) -> length(active(encArg(x_1496))) [0] encode_length(cons_mark(x_1497)) -> length(mark(encArg(x_1497))) [0] encode_length(cons_cons(x_1498, x_2212)) -> length(cons(encArg(x_1498), encArg(x_2212))) [0] encode_length(cons_and(x_1499, x_2213)) -> length(and(encArg(x_1499), encArg(x_2213))) [0] encode_length(cons_length(x_1500)) -> length(length(encArg(x_1500))) [0] encode_length(cons_s(x_1501)) -> length(s(encArg(x_1501))) [0] encode_length(cons_take(x_1502, x_2214)) -> length(take(encArg(x_1502), encArg(x_2214))) [0] encode_length(x_1) -> length(null_encArg) [0] encode_nil -> nil [0] encode_s(zeros) -> s(zeros) [0] encode_s(0) -> s(0) [0] encode_s(tt) -> s(tt) [0] encode_s(nil) -> s(nil) [0] encode_s(cons_active(x_1503)) -> s(active(encArg(x_1503))) [0] encode_s(cons_mark(x_1504)) -> s(mark(encArg(x_1504))) [0] encode_s(cons_cons(x_1505, x_2215)) -> s(cons(encArg(x_1505), encArg(x_2215))) [0] encode_s(cons_and(x_1506, x_2216)) -> s(and(encArg(x_1506), encArg(x_2216))) [0] encode_s(cons_length(x_1507)) -> s(length(encArg(x_1507))) [0] encode_s(cons_s(x_1508)) -> s(s(encArg(x_1508))) [0] encode_s(cons_take(x_1509, x_2217)) -> s(take(encArg(x_1509), encArg(x_2217))) [0] encode_s(x_1) -> s(null_encArg) [0] encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] length(x0) -> c_length(x0) [0] take(x0, x1) -> c_take(x0, x1) [0] cons(x0, x1) -> c_cons(x0, x1) [0] and(x0, x1) -> c_and(x0, x1) [0] mark(x0) -> c_mark(x0) [0] encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_zeros -> null_encode_zeros [0] encode_mark(v0) -> null_encode_mark [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_0 -> null_encode_0 [0] encode_and(v0, v1) -> null_encode_and [0] encode_tt -> null_encode_tt [0] encode_length(v0) -> null_encode_length [0] encode_nil -> null_encode_nil [0] encode_s(v0) -> null_encode_s [0] encode_take(v0, v1) -> null_encode_take [0] s(v0) -> null_s [0] active(v0) -> null_active [0] length(v0) -> null_length [0] take(v0, v1) -> null_take [0] cons(v0, v1) -> null_cons [0] and(v0, v1) -> null_and [0] mark(v0) -> null_mark [0] The TRS has the following type information: active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark zeros :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark 0 :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark tt :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark nil :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encArg :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_zeros :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_0 :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_tt :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_nil :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encArg :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_zeros :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_0 :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_tt :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_nil :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark Rewrite Strategy: INNERMOST ---------------------------------------- (27) 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_zeros => 0 null_encode_mark => 0 null_encode_cons => 0 null_encode_0 => 0 null_encode_and => 0 null_encode_tt => 0 null_encode_length => 0 null_encode_nil => 0 null_encode_s => 0 null_encode_take => 0 null_s => 0 null_active => 0 null_length => 0 null_take => 0 null_cons => 0 null_and => 0 null_mark => 0 ---------------------------------------- (28) Obligation: Complexity RNTS consisting of the following rules: active(z) -{ 1 }-> mark(X) :|: z = 1 + 2 + X, X >= 0 active(z) -{ 2 }-> mark(s(length(X51))) :|: X51 >= 0, z = 1 + (1 + N + (1 + X51)), N >= 0 active(z) -{ 2 }-> mark(s(length(X52))) :|: z = 1 + (1 + N + (1 + X52)), X52 >= 0, N >= 0 active(z) -{ 1 }-> mark(s(0)) :|: L >= 0, z = 1 + (1 + N + L), N >= 0 active(z) -{ 1 }-> mark(s(1 + L)) :|: L >= 0, z = 1 + (1 + N + L), N >= 0 active(z) -{ 2 }-> mark(cons(N, take(M, X244))) :|: X244 >= 0, z = 1 + (1 + M) + (1 + N + (1 + X244)), M >= 0, N >= 0 active(z) -{ 2 }-> mark(cons(N, take(M, X245))) :|: X245 >= 0, z = 1 + (1 + M) + (1 + N + (1 + X245)), M >= 0, N >= 0 active(z) -{ 2 }-> mark(cons(N, take(X144, IL))) :|: X144 >= 0, z = 1 + (1 + (1 + X144)) + (1 + N + IL), IL >= 0, N >= 0 active(z) -{ 2 }-> mark(cons(N, take(X145, IL))) :|: X145 >= 0, z = 1 + (1 + (1 + X145)) + (1 + N + IL), IL >= 0, N >= 0 active(z) -{ 1 }-> mark(cons(N, 0)) :|: z = 1 + (1 + M) + (1 + N + IL), M >= 0, IL >= 0, N >= 0 active(z) -{ 1 }-> mark(cons(N, 1 + M + IL)) :|: z = 1 + (1 + M) + (1 + N + IL), M >= 0, IL >= 0, N >= 0 active(z) -{ 1 }-> mark(1) :|: z = 1 + 0 + IL, IL >= 0 active(z) -{ 1 }-> mark(0) :|: z = 3 active(z) -{ 1 }-> mark(0) :|: z = 1 + 1 active(z) -{ 1 }-> mark(1 + 0 + 3) :|: z = 3 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 }-> take(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> s(take(encArg(x_1208), encArg(x_288))) :|: x_1208 >= 0, z = 1 + (1 + x_1208 + x_288), x_288 >= 0 encArg(z) -{ 0 }-> s(s(encArg(x_1207))) :|: z = 1 + (1 + x_1207), x_1207 >= 0 encArg(z) -{ 0 }-> s(mark(encArg(x_1203))) :|: x_1203 >= 0, z = 1 + (1 + x_1203) encArg(z) -{ 0 }-> s(length(encArg(x_1206))) :|: z = 1 + (1 + x_1206), x_1206 >= 0 encArg(z) -{ 0 }-> s(cons(encArg(x_1204), encArg(x_286))) :|: x_1204 >= 0, x_286 >= 0, z = 1 + (1 + x_1204 + x_286) encArg(z) -{ 0 }-> s(and(encArg(x_1205), encArg(x_287))) :|: x_1205 >= 0, z = 1 + (1 + x_1205 + x_287), x_287 >= 0 encArg(z) -{ 0 }-> s(active(encArg(x_1202))) :|: z = 1 + (1 + x_1202), x_1202 >= 0 encArg(z) -{ 0 }-> s(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> s(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> s(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> s(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> s(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> mark(take(encArg(x_112), encArg(x_24))) :|: z = 1 + (1 + x_112 + x_24), x_24 >= 0, x_112 >= 0 encArg(z) -{ 0 }-> mark(s(encArg(x_111))) :|: z = 1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 0 }-> mark(mark(encArg(x_17))) :|: x_17 >= 0, z = 1 + (1 + x_17) encArg(z) -{ 0 }-> mark(length(encArg(x_110))) :|: z = 1 + (1 + x_110), x_110 >= 0 encArg(z) -{ 0 }-> mark(cons(encArg(x_18), encArg(x_22))) :|: z = 1 + (1 + x_18 + x_22), x_18 >= 0, x_22 >= 0 encArg(z) -{ 0 }-> mark(and(encArg(x_19), encArg(x_23))) :|: z = 1 + (1 + x_19 + x_23), x_23 >= 0, x_19 >= 0 encArg(z) -{ 0 }-> mark(active(encArg(x_16))) :|: x_16 >= 0, z = 1 + (1 + x_16) encArg(z) -{ 0 }-> mark(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> mark(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> mark(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> mark(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> mark(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> length(take(encArg(x_1201), encArg(x_285))) :|: z = 1 + (1 + x_1201 + x_285), x_1201 >= 0, x_285 >= 0 encArg(z) -{ 0 }-> length(s(encArg(x_1200))) :|: x_1200 >= 0, z = 1 + (1 + x_1200) encArg(z) -{ 0 }-> length(mark(encArg(x_1196))) :|: x_1196 >= 0, z = 1 + (1 + x_1196) encArg(z) -{ 0 }-> length(length(encArg(x_1199))) :|: z = 1 + (1 + x_1199), x_1199 >= 0 encArg(z) -{ 0 }-> length(cons(encArg(x_1197), encArg(x_283))) :|: x_283 >= 0, z = 1 + (1 + x_1197 + x_283), x_1197 >= 0 encArg(z) -{ 0 }-> length(and(encArg(x_1198), encArg(x_284))) :|: z = 1 + (1 + x_1198 + x_284), x_284 >= 0, x_1198 >= 0 encArg(z) -{ 0 }-> length(active(encArg(x_1195))) :|: x_1195 >= 0, z = 1 + (1 + x_1195) encArg(z) -{ 0 }-> length(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> length(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> length(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> length(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> length(0) :|: 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(take(encArg(x_15), encArg(x_21))) :|: x_15 >= 0, z = 1 + (1 + x_15 + x_21), x_21 >= 0 encArg(z) -{ 0 }-> active(s(encArg(x_14))) :|: x_14 >= 0, z = 1 + (1 + x_14) encArg(z) -{ 0 }-> active(mark(encArg(x_1''))) :|: z = 1 + (1 + x_1''), x_1'' >= 0 encArg(z) -{ 0 }-> active(length(encArg(x_13))) :|: z = 1 + (1 + x_13), x_13 >= 0 encArg(z) -{ 0 }-> active(cons(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> active(and(encArg(x_12), encArg(x_2''))) :|: z = 1 + (1 + x_12 + x_2''), x_2'' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> active(active(encArg(x_1'))) :|: z = 1 + (1 + x_1'), x_1' >= 0 encArg(z) -{ 0 }-> active(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> active(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> active(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> active(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> active(0) :|: 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(take(encArg(x_1306), encArg(x_2130))) :|: x_1306 >= 0, z = 1 + x_1306 + x_2130, x_2130 >= 0 encode_active(z) -{ 0 }-> active(s(encArg(x_1305))) :|: x_1305 >= 0, z = 1 + x_1305 encode_active(z) -{ 0 }-> active(mark(encArg(x_1301))) :|: z = 1 + x_1301, x_1301 >= 0 encode_active(z) -{ 0 }-> active(length(encArg(x_1304))) :|: x_1304 >= 0, z = 1 + x_1304 encode_active(z) -{ 0 }-> active(cons(encArg(x_1302), encArg(x_2128))) :|: x_2128 >= 0, z = 1 + x_1302 + x_2128, x_1302 >= 0 encode_active(z) -{ 0 }-> active(and(encArg(x_1303), encArg(x_2129))) :|: x_1303 >= 0, x_2129 >= 0, z = 1 + x_1303 + x_2129 encode_active(z) -{ 0 }-> active(active(encArg(x_1300))) :|: x_1300 >= 0, z = 1 + x_1300 encode_active(z) -{ 0 }-> active(3) :|: z = 3 encode_active(z) -{ 0 }-> active(2) :|: z = 2 encode_active(z) -{ 0 }-> active(1) :|: z = 1 encode_active(z) -{ 0 }-> active(0) :|: z = 0 encode_active(z) -{ 0 }-> active(0) :|: 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_length(z) -{ 0 }-> length(take(encArg(x_1502), encArg(x_2214))) :|: x_1502 >= 0, z = 1 + x_1502 + x_2214, x_2214 >= 0 encode_length(z) -{ 0 }-> length(s(encArg(x_1501))) :|: z = 1 + x_1501, x_1501 >= 0 encode_length(z) -{ 0 }-> length(mark(encArg(x_1497))) :|: z = 1 + x_1497, x_1497 >= 0 encode_length(z) -{ 0 }-> length(length(encArg(x_1500))) :|: z = 1 + x_1500, x_1500 >= 0 encode_length(z) -{ 0 }-> length(cons(encArg(x_1498), encArg(x_2212))) :|: x_2212 >= 0, z = 1 + x_1498 + x_2212, x_1498 >= 0 encode_length(z) -{ 0 }-> length(and(encArg(x_1499), encArg(x_2213))) :|: x_2213 >= 0, x_1499 >= 0, z = 1 + x_1499 + x_2213 encode_length(z) -{ 0 }-> length(active(encArg(x_1496))) :|: x_1496 >= 0, z = 1 + x_1496 encode_length(z) -{ 0 }-> length(3) :|: z = 3 encode_length(z) -{ 0 }-> length(2) :|: z = 2 encode_length(z) -{ 0 }-> length(1) :|: z = 1 encode_length(z) -{ 0 }-> length(0) :|: z = 0 encode_length(z) -{ 0 }-> length(0) :|: x_1 >= 0, z = x_1 encode_length(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_mark(z) -{ 0 }-> mark(take(encArg(x_1313), encArg(x_2133))) :|: z = 1 + x_1313 + x_2133, x_1313 >= 0, x_2133 >= 0 encode_mark(z) -{ 0 }-> mark(s(encArg(x_1312))) :|: z = 1 + x_1312, x_1312 >= 0 encode_mark(z) -{ 0 }-> mark(mark(encArg(x_1308))) :|: z = 1 + x_1308, x_1308 >= 0 encode_mark(z) -{ 0 }-> mark(length(encArg(x_1311))) :|: z = 1 + x_1311, x_1311 >= 0 encode_mark(z) -{ 0 }-> mark(cons(encArg(x_1309), encArg(x_2131))) :|: x_2131 >= 0, z = 1 + x_1309 + x_2131, x_1309 >= 0 encode_mark(z) -{ 0 }-> mark(and(encArg(x_1310), encArg(x_2132))) :|: z = 1 + x_1310 + x_2132, x_1310 >= 0, x_2132 >= 0 encode_mark(z) -{ 0 }-> mark(active(encArg(x_1307))) :|: x_1307 >= 0, z = 1 + x_1307 encode_mark(z) -{ 0 }-> mark(3) :|: z = 3 encode_mark(z) -{ 0 }-> mark(2) :|: z = 2 encode_mark(z) -{ 0 }-> mark(1) :|: z = 1 encode_mark(z) -{ 0 }-> mark(0) :|: z = 0 encode_mark(z) -{ 0 }-> mark(0) :|: 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(take(encArg(x_1509), encArg(x_2217))) :|: x_1509 >= 0, x_2217 >= 0, z = 1 + x_1509 + x_2217 encode_s(z) -{ 0 }-> s(s(encArg(x_1508))) :|: z = 1 + x_1508, x_1508 >= 0 encode_s(z) -{ 0 }-> s(mark(encArg(x_1504))) :|: x_1504 >= 0, z = 1 + x_1504 encode_s(z) -{ 0 }-> s(length(encArg(x_1507))) :|: x_1507 >= 0, z = 1 + x_1507 encode_s(z) -{ 0 }-> s(cons(encArg(x_1505), encArg(x_2215))) :|: x_1505 >= 0, x_2215 >= 0, z = 1 + x_1505 + x_2215 encode_s(z) -{ 0 }-> s(and(encArg(x_1506), encArg(x_2216))) :|: z = 1 + x_1506 + x_2216, x_2216 >= 0, x_1506 >= 0 encode_s(z) -{ 0 }-> s(active(encArg(x_1503))) :|: x_1503 >= 0, z = 1 + x_1503 encode_s(z) -{ 0 }-> s(3) :|: z = 3 encode_s(z) -{ 0 }-> s(2) :|: z = 2 encode_s(z) -{ 0 }-> s(1) :|: z = 1 encode_s(z) -{ 0 }-> s(0) :|: z = 0 encode_s(z) -{ 0 }-> s(0) :|: 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_zeros -{ 0 }-> 3 :|: encode_zeros -{ 0 }-> 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(take(mark(X1), mark(X2))) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 2 }-> active(s(active(take(mark(X1''), mark(X2''))))) :|: X1'' >= 0, z = 1 + (1 + X1'' + X2''), X2'' >= 0 mark(z) -{ 2 }-> active(s(active(s(mark(X'))))) :|: X' >= 0, z = 1 + (1 + X') mark(z) -{ 2 }-> active(s(active(length(mark(X''))))) :|: z = 1 + (1 + X''), X'' >= 0 mark(z) -{ 2 }-> active(s(active(cons(mark(X11), X21)))) :|: z = 1 + (1 + X11 + X21), X11 >= 0, X21 >= 0 mark(z) -{ 2 }-> active(s(active(and(mark(X1'), X2')))) :|: z = 1 + (1 + X1' + X2'), X2' >= 0, X1' >= 0 mark(z) -{ 2 }-> active(s(active(3))) :|: z = 1 + 3 mark(z) -{ 2 }-> active(s(active(2))) :|: z = 1 + 2 mark(z) -{ 2 }-> active(s(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(s(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(s(0)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(s(1 + X)) :|: z = 1 + X, X >= 0 mark(z) -{ 2 }-> active(length(active(take(mark(X142), mark(X242))))) :|: z = 1 + (1 + X142 + X242), X242 >= 0, X142 >= 0 mark(z) -{ 2 }-> active(length(active(s(mark(X47))))) :|: X47 >= 0, z = 1 + (1 + X47) mark(z) -{ 2 }-> active(length(active(length(mark(X48))))) :|: z = 1 + (1 + X48), X48 >= 0 mark(z) -{ 2 }-> active(length(active(cons(mark(X143), X243)))) :|: X243 >= 0, z = 1 + (1 + X143 + X243), X143 >= 0 mark(z) -{ 2 }-> active(length(active(and(mark(X141), X241)))) :|: z = 1 + (1 + X141 + X241), X241 >= 0, X141 >= 0 mark(z) -{ 2 }-> active(length(active(3))) :|: z = 1 + 3 mark(z) -{ 2 }-> active(length(active(2))) :|: z = 1 + 2 mark(z) -{ 2 }-> active(length(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(length(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(length(0)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(length(1 + X)) :|: z = 1 + X, X >= 0 mark(z) -{ 2 }-> active(cons(active(take(mark(X147), mark(X247))), X2)) :|: z = 1 + (1 + X147 + X247) + X2, X147 >= 0, X247 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(s(mark(X49))), X2)) :|: z = 1 + (1 + X49) + X2, X49 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(length(mark(X50))), X2)) :|: X50 >= 0, z = 1 + (1 + X50) + X2, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(cons(mark(X148), X248)), X2)) :|: X248 >= 0, z = 1 + (1 + X148 + X248) + X2, X148 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(and(mark(X146), X246)), X2)) :|: X146 >= 0, z = 1 + (1 + X146 + X246) + X2, X246 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(3), X2)) :|: X2 >= 0, z = 1 + 3 + X2 mark(z) -{ 2 }-> active(cons(active(2), X2)) :|: z = 1 + 2 + X2, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(1), X2)) :|: z = 1 + 1 + X2, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(0), X2)) :|: z = 1 + 0 + X2, X2 >= 0 mark(z) -{ 1 }-> active(cons(0, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(cons(1 + X1, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 2 }-> active(and(active(take(mark(X13), mark(X23))), X2)) :|: z = 1 + (1 + X13 + X23) + X2, X2 >= 0, X13 >= 0, X23 >= 0 mark(z) -{ 2 }-> active(and(active(s(mark(X3))), X2)) :|: z = 1 + (1 + X3) + X2, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(and(active(length(mark(X4))), X2)) :|: X4 >= 0, X2 >= 0, z = 1 + (1 + X4) + X2 mark(z) -{ 2 }-> active(and(active(cons(mark(X14), X24)), X2)) :|: z = 1 + (1 + X14 + X24) + X2, X2 >= 0, X14 >= 0, X24 >= 0 mark(z) -{ 2 }-> active(and(active(and(mark(X12), X22)), X2)) :|: z = 1 + (1 + X12 + X22) + X2, X12 >= 0, X22 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(and(active(3), X2)) :|: X2 >= 0, z = 1 + 3 + X2 mark(z) -{ 2 }-> active(and(active(2), X2)) :|: z = 1 + 2 + X2, X2 >= 0 mark(z) -{ 2 }-> active(and(active(1), X2)) :|: z = 1 + 1 + X2, X2 >= 0 mark(z) -{ 2 }-> active(and(active(0), X2)) :|: z = 1 + 0 + X2, X2 >= 0 mark(z) -{ 1 }-> active(and(0, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(and(1 + X1, 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 + X2, X2 >= 0, z = X1 take(z, z') -{ 1 }-> take(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 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 ---------------------------------------- (29) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: active(z) -{ 2 }-> mark(s(length(X51))) :|: X51 >= 0, z = 1 + (1 + N + (1 + X51)), N >= 0 active(z) -{ 2 }-> mark(s(length(X52))) :|: z = 1 + (1 + N + (1 + X52)), X52 >= 0, N >= 0 active(z) -{ 1 }-> mark(s(0)) :|: L >= 0, z = 1 + (1 + N + L), N >= 0 active(z) -{ 1 }-> mark(s(1 + L)) :|: L >= 0, z = 1 + (1 + N + L), N >= 0 active(z) -{ 2 }-> mark(cons(N, take(M, X244))) :|: X244 >= 0, z = 1 + (1 + M) + (1 + N + (1 + X244)), M >= 0, N >= 0 active(z) -{ 2 }-> mark(cons(N, take(M, X245))) :|: X245 >= 0, z = 1 + (1 + M) + (1 + N + (1 + X245)), M >= 0, N >= 0 active(z) -{ 2 }-> mark(cons(N, take(X144, IL))) :|: X144 >= 0, z = 1 + (1 + (1 + X144)) + (1 + N + IL), IL >= 0, N >= 0 active(z) -{ 2 }-> mark(cons(N, take(X145, IL))) :|: X145 >= 0, z = 1 + (1 + (1 + X145)) + (1 + N + IL), IL >= 0, N >= 0 active(z) -{ 1 }-> mark(cons(N, 0)) :|: z = 1 + (1 + M) + (1 + N + IL), M >= 0, IL >= 0, N >= 0 active(z) -{ 1 }-> mark(cons(N, 1 + M + IL)) :|: z = 1 + (1 + M) + (1 + N + IL), M >= 0, IL >= 0, N >= 0 active(z) -{ 1 }-> mark(1) :|: z - 1 >= 0 active(z) -{ 1 }-> mark(0) :|: z = 3 active(z) -{ 1 }-> mark(0) :|: z = 1 + 1 active(z) -{ 1 }-> mark(z - 3) :|: z - 3 >= 0 active(z) -{ 1 }-> mark(1 + 0 + 3) :|: z = 3 active(z) -{ 0 }-> 0 :|: z >= 0 active(z) -{ 0 }-> 1 + z :|: z >= 0 and(z, z') -{ 1 }-> and(z, z' - 1) :|: z >= 0, z' - 1 >= 0 and(z, z') -{ 1 }-> and(z - 1, z') :|: z - 1 >= 0, z' >= 0 and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 and(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> cons(z, z' - 1) :|: z >= 0, z' - 1 >= 0 cons(z, z') -{ 1 }-> cons(z - 1, z') :|: z - 1 >= 0, z' >= 0 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 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(take(encArg(x_1208), encArg(x_288))) :|: x_1208 >= 0, z = 1 + (1 + x_1208 + x_288), x_288 >= 0 encArg(z) -{ 0 }-> s(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(length(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(cons(encArg(x_1204), encArg(x_286))) :|: x_1204 >= 0, x_286 >= 0, z = 1 + (1 + x_1204 + x_286) encArg(z) -{ 0 }-> s(and(encArg(x_1205), encArg(x_287))) :|: x_1205 >= 0, z = 1 + (1 + x_1205 + x_287), x_287 >= 0 encArg(z) -{ 0 }-> s(active(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> s(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> s(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> s(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> s(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> mark(take(encArg(x_112), encArg(x_24))) :|: z = 1 + (1 + x_112 + x_24), x_24 >= 0, x_112 >= 0 encArg(z) -{ 0 }-> mark(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(length(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(cons(encArg(x_18), encArg(x_22))) :|: z = 1 + (1 + x_18 + x_22), x_18 >= 0, x_22 >= 0 encArg(z) -{ 0 }-> mark(and(encArg(x_19), encArg(x_23))) :|: z = 1 + (1 + x_19 + x_23), x_23 >= 0, x_19 >= 0 encArg(z) -{ 0 }-> mark(active(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> mark(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> mark(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> mark(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> mark(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> length(take(encArg(x_1201), encArg(x_285))) :|: z = 1 + (1 + x_1201 + x_285), x_1201 >= 0, x_285 >= 0 encArg(z) -{ 0 }-> length(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> length(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> length(length(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> length(cons(encArg(x_1197), encArg(x_283))) :|: x_283 >= 0, z = 1 + (1 + x_1197 + x_283), x_1197 >= 0 encArg(z) -{ 0 }-> length(and(encArg(x_1198), encArg(x_284))) :|: z = 1 + (1 + x_1198 + x_284), x_284 >= 0, x_1198 >= 0 encArg(z) -{ 0 }-> length(active(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> length(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> length(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> length(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> length(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> length(0) :|: z - 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(take(encArg(x_15), encArg(x_21))) :|: x_15 >= 0, z = 1 + (1 + x_15 + x_21), x_21 >= 0 encArg(z) -{ 0 }-> active(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> active(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> active(length(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> active(cons(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> active(and(encArg(x_12), encArg(x_2''))) :|: z = 1 + (1 + x_12 + x_2''), x_2'' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> active(active(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> active(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> active(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> active(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> active(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> active(0) :|: z - 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 :|: z >= 0 encode_0 -{ 0 }-> 0 :|: encode_active(z) -{ 0 }-> active(take(encArg(x_1306), encArg(x_2130))) :|: x_1306 >= 0, z = 1 + x_1306 + x_2130, x_2130 >= 0 encode_active(z) -{ 0 }-> active(s(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(length(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(cons(encArg(x_1302), encArg(x_2128))) :|: x_2128 >= 0, z = 1 + x_1302 + x_2128, x_1302 >= 0 encode_active(z) -{ 0 }-> active(and(encArg(x_1303), encArg(x_2129))) :|: x_1303 >= 0, x_2129 >= 0, z = 1 + x_1303 + x_2129 encode_active(z) -{ 0 }-> active(active(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(3) :|: z = 3 encode_active(z) -{ 0 }-> active(2) :|: z = 2 encode_active(z) -{ 0 }-> active(1) :|: z = 1 encode_active(z) -{ 0 }-> active(0) :|: z = 0 encode_active(z) -{ 0 }-> active(0) :|: z >= 0 encode_active(z) -{ 0 }-> 0 :|: z >= 0 encode_and(z, z') -{ 0 }-> and(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_length(z) -{ 0 }-> length(take(encArg(x_1502), encArg(x_2214))) :|: x_1502 >= 0, z = 1 + x_1502 + x_2214, x_2214 >= 0 encode_length(z) -{ 0 }-> length(s(encArg(z - 1))) :|: z - 1 >= 0 encode_length(z) -{ 0 }-> length(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_length(z) -{ 0 }-> length(length(encArg(z - 1))) :|: z - 1 >= 0 encode_length(z) -{ 0 }-> length(cons(encArg(x_1498), encArg(x_2212))) :|: x_2212 >= 0, z = 1 + x_1498 + x_2212, x_1498 >= 0 encode_length(z) -{ 0 }-> length(and(encArg(x_1499), encArg(x_2213))) :|: x_2213 >= 0, x_1499 >= 0, z = 1 + x_1499 + x_2213 encode_length(z) -{ 0 }-> length(active(encArg(z - 1))) :|: z - 1 >= 0 encode_length(z) -{ 0 }-> length(3) :|: z = 3 encode_length(z) -{ 0 }-> length(2) :|: z = 2 encode_length(z) -{ 0 }-> length(1) :|: z = 1 encode_length(z) -{ 0 }-> length(0) :|: z = 0 encode_length(z) -{ 0 }-> length(0) :|: z >= 0 encode_length(z) -{ 0 }-> 0 :|: z >= 0 encode_mark(z) -{ 0 }-> mark(take(encArg(x_1313), encArg(x_2133))) :|: z = 1 + x_1313 + x_2133, x_1313 >= 0, x_2133 >= 0 encode_mark(z) -{ 0 }-> mark(s(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(length(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(cons(encArg(x_1309), encArg(x_2131))) :|: x_2131 >= 0, z = 1 + x_1309 + x_2131, x_1309 >= 0 encode_mark(z) -{ 0 }-> mark(and(encArg(x_1310), encArg(x_2132))) :|: z = 1 + x_1310 + x_2132, x_1310 >= 0, x_2132 >= 0 encode_mark(z) -{ 0 }-> mark(active(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(3) :|: z = 3 encode_mark(z) -{ 0 }-> mark(2) :|: z = 2 encode_mark(z) -{ 0 }-> mark(1) :|: z = 1 encode_mark(z) -{ 0 }-> mark(0) :|: z = 0 encode_mark(z) -{ 0 }-> mark(0) :|: z >= 0 encode_mark(z) -{ 0 }-> 0 :|: z >= 0 encode_nil -{ 0 }-> 1 :|: encode_nil -{ 0 }-> 0 :|: encode_s(z) -{ 0 }-> s(take(encArg(x_1509), encArg(x_2217))) :|: x_1509 >= 0, x_2217 >= 0, z = 1 + x_1509 + x_2217 encode_s(z) -{ 0 }-> s(s(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(length(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(cons(encArg(x_1505), encArg(x_2215))) :|: x_1505 >= 0, x_2215 >= 0, z = 1 + x_1505 + x_2215 encode_s(z) -{ 0 }-> s(and(encArg(x_1506), encArg(x_2216))) :|: z = 1 + x_1506 + x_2216, x_2216 >= 0, x_1506 >= 0 encode_s(z) -{ 0 }-> s(active(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(3) :|: z = 3 encode_s(z) -{ 0 }-> s(2) :|: z = 2 encode_s(z) -{ 0 }-> s(1) :|: z = 1 encode_s(z) -{ 0 }-> s(0) :|: z = 0 encode_s(z) -{ 0 }-> s(0) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_take(z, z') -{ 0 }-> take(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_take(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_tt -{ 0 }-> 2 :|: encode_tt -{ 0 }-> 0 :|: encode_zeros -{ 0 }-> 3 :|: encode_zeros -{ 0 }-> 0 :|: length(z) -{ 1 }-> length(z - 1) :|: z - 1 >= 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + z :|: z >= 0 mark(z) -{ 1 }-> active(take(mark(X1), mark(X2))) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 2 }-> active(s(active(take(mark(X1''), mark(X2''))))) :|: X1'' >= 0, z = 1 + (1 + X1'' + X2''), X2'' >= 0 mark(z) -{ 2 }-> active(s(active(s(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(s(active(length(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(s(active(cons(mark(X11), X21)))) :|: z = 1 + (1 + X11 + X21), X11 >= 0, X21 >= 0 mark(z) -{ 2 }-> active(s(active(and(mark(X1'), X2')))) :|: z = 1 + (1 + X1' + X2'), X2' >= 0, X1' >= 0 mark(z) -{ 2 }-> active(s(active(3))) :|: z = 1 + 3 mark(z) -{ 2 }-> active(s(active(2))) :|: z = 1 + 2 mark(z) -{ 2 }-> active(s(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(s(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(s(0)) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(s(1 + (z - 1))) :|: z - 1 >= 0 mark(z) -{ 2 }-> active(length(active(take(mark(X142), mark(X242))))) :|: z = 1 + (1 + X142 + X242), X242 >= 0, X142 >= 0 mark(z) -{ 2 }-> active(length(active(s(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(length(active(length(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(length(active(cons(mark(X143), X243)))) :|: X243 >= 0, z = 1 + (1 + X143 + X243), X143 >= 0 mark(z) -{ 2 }-> active(length(active(and(mark(X141), X241)))) :|: z = 1 + (1 + X141 + X241), X241 >= 0, X141 >= 0 mark(z) -{ 2 }-> active(length(active(3))) :|: z = 1 + 3 mark(z) -{ 2 }-> active(length(active(2))) :|: z = 1 + 2 mark(z) -{ 2 }-> active(length(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(length(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(length(0)) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(length(1 + (z - 1))) :|: z - 1 >= 0 mark(z) -{ 2 }-> active(cons(active(take(mark(X147), mark(X247))), X2)) :|: z = 1 + (1 + X147 + X247) + X2, X147 >= 0, X247 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(s(mark(X49))), X2)) :|: z = 1 + (1 + X49) + X2, X49 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(length(mark(X50))), X2)) :|: X50 >= 0, z = 1 + (1 + X50) + X2, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(cons(mark(X148), X248)), X2)) :|: X248 >= 0, z = 1 + (1 + X148 + X248) + X2, X148 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(and(mark(X146), X246)), X2)) :|: X146 >= 0, z = 1 + (1 + X146 + X246) + X2, X246 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(3), z - 4)) :|: z - 4 >= 0 mark(z) -{ 2 }-> active(cons(active(2), z - 3)) :|: z - 3 >= 0 mark(z) -{ 2 }-> active(cons(active(1), z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(cons(active(0), z - 1)) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(cons(0, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(cons(1 + X1, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 2 }-> active(and(active(take(mark(X13), mark(X23))), X2)) :|: z = 1 + (1 + X13 + X23) + X2, X2 >= 0, X13 >= 0, X23 >= 0 mark(z) -{ 2 }-> active(and(active(s(mark(X3))), X2)) :|: z = 1 + (1 + X3) + X2, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(and(active(length(mark(X4))), X2)) :|: X4 >= 0, X2 >= 0, z = 1 + (1 + X4) + X2 mark(z) -{ 2 }-> active(and(active(cons(mark(X14), X24)), X2)) :|: z = 1 + (1 + X14 + X24) + X2, X2 >= 0, X14 >= 0, X24 >= 0 mark(z) -{ 2 }-> active(and(active(and(mark(X12), X22)), X2)) :|: z = 1 + (1 + X12 + X22) + X2, X12 >= 0, X22 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(and(active(3), z - 4)) :|: z - 4 >= 0 mark(z) -{ 2 }-> active(and(active(2), z - 3)) :|: z - 3 >= 0 mark(z) -{ 2 }-> active(and(active(1), z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(and(active(0), z - 1)) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(and(0, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(and(1 + X1, 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 :|: z >= 0 mark(z) -{ 0 }-> 1 + z :|: z >= 0 s(z) -{ 1 }-> s(z - 1) :|: z - 1 >= 0 s(z) -{ 0 }-> 0 :|: z >= 0 s(z) -{ 0 }-> 1 + z :|: z >= 0 take(z, z') -{ 1 }-> take(z, z' - 1) :|: z >= 0, z' - 1 >= 0 take(z, z') -{ 1 }-> take(z - 1, z') :|: z - 1 >= 0, z' >= 0 take(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 take(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 ---------------------------------------- (31) 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_zeros -> null_encode_zeros [0] encode_mark(v0) -> null_encode_mark [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_0 -> null_encode_0 [0] encode_and(v0, v1) -> null_encode_and [0] encode_tt -> null_encode_tt [0] encode_length(v0) -> null_encode_length [0] encode_nil -> null_encode_nil [0] encode_s(v0) -> null_encode_s [0] encode_take(v0, v1) -> null_encode_take [0] s(v0) -> null_s [0] active(v0) -> null_active [0] length(v0) -> null_length [0] take(v0, v1) -> null_take [0] cons(v0, v1) -> null_cons [0] and(v0, v1) -> null_and [0] mark(v0) -> null_mark [0] And the following fresh constants: null_encArg, null_encode_active, null_encode_zeros, null_encode_mark, null_encode_cons, null_encode_0, null_encode_and, null_encode_tt, null_encode_length, null_encode_nil, null_encode_s, null_encode_take, null_s, null_active, null_length, null_take, null_cons, null_and, null_mark ---------------------------------------- (32) 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(zeros) -> active(zeros) [1] mark(0) -> active(0) [1] mark(tt) -> active(tt) [1] mark(nil) -> active(nil) [1] take(X1, c_active(X2)) -> take(X1, X2) [1] mark(c_s(X)) -> active(s(mark(X))) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] s(c_active(X)) -> s(X) [1] length(c_mark(X)) -> length(X) [1] and(c_active(X1), X2) -> and(X1, X2) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] mark(c_and(X1, X2)) -> active(and(mark(X1), X2)) [1] mark(c_take(X1, X2)) -> active(take(mark(X1), mark(X2))) [1] cons(X1, c_mark(X2)) -> cons(X1, X2) [1] take(c_mark(X1), X2) -> take(X1, X2) [1] active(c_length(nil)) -> mark(0) [1] mark(c_length(X)) -> active(length(mark(X))) [1] take(X1, c_mark(X2)) -> take(X1, X2) [1] active(c_take(0, IL)) -> mark(nil) [1] s(c_mark(X)) -> s(X) [1] take(c_active(X1), X2) -> take(X1, X2) [1] active(c_take(c_s(M), c_cons(N, IL))) -> mark(cons(N, take(M, IL))) [1] active(c_and(tt, X)) -> mark(X) [1] length(c_active(X)) -> length(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] mark(c_cons(X1, X2)) -> active(cons(mark(X1), X2)) [1] active(c_length(c_cons(N, L))) -> mark(s(length(L))) [1] and(X1, c_mark(X2)) -> and(X1, X2) [1] and(c_mark(X1), X2) -> and(X1, X2) [1] and(X1, c_active(X2)) -> and(X1, X2) [1] encArg(zeros) -> zeros [0] encArg(0) -> 0 [0] encArg(tt) -> tt [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_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) [0] encArg(cons_length(x_1)) -> length(encArg(x_1)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_zeros -> zeros [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) [0] encode_tt -> tt [0] encode_length(x_1) -> length(encArg(x_1)) [0] encode_nil -> nil [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] length(x0) -> c_length(x0) [0] take(x0, x1) -> c_take(x0, x1) [0] cons(x0, x1) -> c_cons(x0, x1) [0] and(x0, x1) -> c_and(x0, x1) [0] mark(x0) -> c_mark(x0) [0] encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_zeros -> null_encode_zeros [0] encode_mark(v0) -> null_encode_mark [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_0 -> null_encode_0 [0] encode_and(v0, v1) -> null_encode_and [0] encode_tt -> null_encode_tt [0] encode_length(v0) -> null_encode_length [0] encode_nil -> null_encode_nil [0] encode_s(v0) -> null_encode_s [0] encode_take(v0, v1) -> null_encode_take [0] s(v0) -> null_s [0] active(v0) -> null_active [0] length(v0) -> null_length [0] take(v0, v1) -> null_take [0] cons(v0, v1) -> null_cons [0] and(v0, v1) -> null_and [0] mark(v0) -> null_mark [0] The TRS has the following type information: active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark zeros :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark 0 :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark tt :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark nil :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark c_cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encArg :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark cons_take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_zeros :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_0 :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_tt :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_nil :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark encode_take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark -> zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encArg :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_zeros :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_0 :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_tt :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_nil :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_encode_take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_s :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_active :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_length :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_take :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_cons :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_and :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark null_mark :: zeros:0:tt:nil:c_active:c_s:c_mark:c_and:c_take:c_length:c_cons:cons_active:cons_mark:cons_cons:cons_and:cons_length:cons_s:cons_take:null_encArg:null_encode_active:null_encode_zeros:null_encode_mark:null_encode_cons:null_encode_0:null_encode_and:null_encode_tt:null_encode_length:null_encode_nil:null_encode_s:null_encode_take:null_s:null_active:null_length:null_take:null_cons:null_and:null_mark Rewrite Strategy: INNERMOST ---------------------------------------- (33) 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_zeros => 0 null_encode_mark => 0 null_encode_cons => 0 null_encode_0 => 0 null_encode_and => 0 null_encode_tt => 0 null_encode_length => 0 null_encode_nil => 0 null_encode_s => 0 null_encode_take => 0 null_s => 0 null_active => 0 null_length => 0 null_take => 0 null_cons => 0 null_and => 0 null_mark => 0 ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: active(z) -{ 1 }-> mark(X) :|: z = 1 + 2 + X, X >= 0 active(z) -{ 1 }-> mark(s(length(L))) :|: L >= 0, z = 1 + (1 + N + L), N >= 0 active(z) -{ 1 }-> mark(cons(N, take(M, IL))) :|: z = 1 + (1 + M) + (1 + N + IL), M >= 0, IL >= 0, N >= 0 active(z) -{ 1 }-> mark(cons(0, 3)) :|: z = 3 active(z) -{ 1 }-> mark(1) :|: z = 1 + 0 + IL, IL >= 0 active(z) -{ 1 }-> mark(0) :|: z = 1 + 1 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 }-> 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 }-> 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_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_zeros -{ 0 }-> 3 :|: encode_zeros -{ 0 }-> 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(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(cons(mark(X1), X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(and(mark(X1), 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 + X2, X2 >= 0, z = X1 take(z, z') -{ 1 }-> take(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 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 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (35) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS to CDT ---------------------------------------- (36) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encode_active(z0) -> active(encArg(z0)) encode_zeros -> zeros encode_mark(z0) -> mark(encArg(z0)) encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_0 -> 0 encode_and(z0, z1) -> and(encArg(z0), encArg(z1)) encode_tt -> tt encode_length(z0) -> length(encArg(z0)) encode_nil -> nil encode_s(z0) -> s(encArg(z0)) encode_take(z0, z1) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(zeros) -> c ENCARG(0) -> c1 ENCARG(tt) -> 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_cons(z0, z1)) -> c6(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_and(z0, z1)) -> c7(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_length(z0)) -> c8(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_ACTIVE(z0) -> c11(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_ZEROS -> c12 ENCODE_MARK(z0) -> c13(MARK(encArg(z0)), ENCARG(z0)) ENCODE_CONS(z0, z1) -> c14(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_0 -> c15 ENCODE_AND(z0, z1) -> c16(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_TT -> c17 ENCODE_LENGTH(z0) -> c18(LENGTH(encArg(z0)), ENCARG(z0)) ENCODE_NIL -> c19 ENCODE_S(z0) -> c20(S(encArg(z0)), ENCARG(z0)) ENCODE_TAKE(z0, z1) -> c21(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros)), CONS(0, zeros)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), S(length(z1)), LENGTH(z1)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(0) -> c30(ACTIVE(0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(tt) -> c32(ACTIVE(tt)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(nil) -> c34(ACTIVE(nil)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) S tuples: ACTIVE(zeros) -> c22(MARK(cons(0, zeros)), CONS(0, zeros)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), S(length(z1)), LENGTH(z1)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(0) -> c30(ACTIVE(0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(tt) -> c32(ACTIVE(tt)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(nil) -> c34(ACTIVE(nil)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) K tuples:none Defined Rule Symbols: active_1, mark_1, cons_2, and_2, length_1, s_1, take_2, encArg_1, encode_active_1, encode_zeros, encode_mark_1, encode_cons_2, encode_0, encode_and_2, encode_tt, encode_length_1, encode_nil, encode_s_1, encode_take_2 Defined Pair Symbols: ENCARG_1, ENCODE_ACTIVE_1, ENCODE_ZEROS, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_0, ENCODE_AND_2, ENCODE_TT, ENCODE_LENGTH_1, ENCODE_NIL, ENCODE_S_1, ENCODE_TAKE_2, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2 Compound Symbols: c, c1, c2, c3, c4_2, c5_2, c6_3, c7_3, c8_2, c9_2, c10_3, c11_2, c12, c13_2, c14_3, c15, c16_3, c17, c18_2, c19, c20_2, c21_3, c22_2, c23_1, c24_1, c25_3, c26_1, c27_3, c28_1, c29_3, c30_1, c31_3, c32_1, c33_3, c34_1, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1 ---------------------------------------- (37) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing nodes: ENCODE_ZEROS -> c12 ENCODE_0 -> c15 ENCODE_NIL -> c19 ENCARG(0) -> c1 ENCARG(nil) -> c3 ENCARG(tt) -> c2 ENCODE_TT -> c17 ENCARG(zeros) -> c ---------------------------------------- (38) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encode_active(z0) -> active(encArg(z0)) encode_zeros -> zeros encode_mark(z0) -> mark(encArg(z0)) encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_0 -> 0 encode_and(z0, z1) -> and(encArg(z0), encArg(z1)) encode_tt -> tt encode_length(z0) -> length(encArg(z0)) encode_nil -> nil encode_s(z0) -> s(encArg(z0)) encode_take(z0, z1) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c6(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_and(z0, z1)) -> c7(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_length(z0)) -> c8(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_ACTIVE(z0) -> c11(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_MARK(z0) -> c13(MARK(encArg(z0)), ENCARG(z0)) ENCODE_CONS(z0, z1) -> c14(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_AND(z0, z1) -> c16(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_LENGTH(z0) -> c18(LENGTH(encArg(z0)), ENCARG(z0)) ENCODE_S(z0) -> c20(S(encArg(z0)), ENCARG(z0)) ENCODE_TAKE(z0, z1) -> c21(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros)), CONS(0, zeros)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), S(length(z1)), LENGTH(z1)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(0) -> c30(ACTIVE(0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(tt) -> c32(ACTIVE(tt)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(nil) -> c34(ACTIVE(nil)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) S tuples: ACTIVE(zeros) -> c22(MARK(cons(0, zeros)), CONS(0, zeros)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), S(length(z1)), LENGTH(z1)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(0) -> c30(ACTIVE(0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(tt) -> c32(ACTIVE(tt)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(nil) -> c34(ACTIVE(nil)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) K tuples:none Defined Rule Symbols: active_1, mark_1, cons_2, and_2, length_1, s_1, take_2, encArg_1, encode_active_1, encode_zeros, encode_mark_1, encode_cons_2, encode_0, encode_and_2, encode_tt, encode_length_1, encode_nil, encode_s_1, encode_take_2 Defined Pair Symbols: ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2 Compound Symbols: c4_2, c5_2, c6_3, c7_3, c8_2, c9_2, c10_3, c11_2, c13_2, c14_3, c16_3, c18_2, c20_2, c21_3, c22_2, c23_1, c24_1, c25_3, c26_1, c27_3, c28_1, c29_3, c30_1, c31_3, c32_1, c33_3, c34_1, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1 ---------------------------------------- (39) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 5 trailing tuple parts ---------------------------------------- (40) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encode_active(z0) -> active(encArg(z0)) encode_zeros -> zeros encode_mark(z0) -> mark(encArg(z0)) encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_0 -> 0 encode_and(z0, z1) -> and(encArg(z0), encArg(z1)) encode_tt -> tt encode_length(z0) -> length(encArg(z0)) encode_nil -> nil encode_s(z0) -> s(encArg(z0)) encode_take(z0, z1) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c6(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_and(z0, z1)) -> c7(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_length(z0)) -> c8(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_ACTIVE(z0) -> c11(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_MARK(z0) -> c13(MARK(encArg(z0)), ENCARG(z0)) ENCODE_CONS(z0, z1) -> c14(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_AND(z0, z1) -> c16(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_LENGTH(z0) -> c18(LENGTH(encArg(z0)), ENCARG(z0)) ENCODE_S(z0) -> c20(S(encArg(z0)), ENCARG(z0)) ENCODE_TAKE(z0, z1) -> c21(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: active_1, mark_1, cons_2, and_2, length_1, s_1, take_2, encArg_1, encode_active_1, encode_zeros, encode_mark_1, encode_cons_2, encode_0, encode_and_2, encode_tt, encode_length_1, encode_nil, encode_s_1, encode_take_2 Defined Pair Symbols: ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2 Compound Symbols: c4_2, c5_2, c6_3, c7_3, c8_2, c9_2, c10_3, c11_2, c13_2, c14_3, c16_3, c18_2, c20_2, c21_3, c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34 ---------------------------------------- (41) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (42) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encode_active(z0) -> active(encArg(z0)) encode_zeros -> zeros encode_mark(z0) -> mark(encArg(z0)) encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_0 -> 0 encode_and(z0, z1) -> and(encArg(z0), encArg(z1)) encode_tt -> tt encode_length(z0) -> length(encArg(z0)) encode_nil -> nil encode_s(z0) -> s(encArg(z0)) encode_take(z0, z1) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c6(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_and(z0, z1)) -> c7(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_length(z0)) -> c8(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_ACTIVE(z0) -> c(ENCARG(z0)) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_MARK(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_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(ENCARG(z0)) ENCODE_AND(z0, z1) -> c(ENCARG(z1)) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_LENGTH(z0) -> c(ENCARG(z0)) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_S(z0) -> c(ENCARG(z0)) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(ENCARG(z0)) ENCODE_TAKE(z0, z1) -> c(ENCARG(z1)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: active_1, mark_1, cons_2, and_2, length_1, s_1, take_2, encArg_1, encode_active_1, encode_zeros, encode_mark_1, encode_cons_2, encode_0, encode_and_2, encode_tt, encode_length_1, encode_nil, encode_s_1, encode_take_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c4_2, c5_2, c6_3, c7_3, c8_2, c9_2, c10_3, c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1 ---------------------------------------- (43) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 10 leading nodes: ENCODE_ACTIVE(z0) -> c(ENCARG(z0)) ENCODE_MARK(z0) -> c(ENCARG(z0)) ENCODE_CONS(z0, z1) -> c(ENCARG(z0)) ENCODE_CONS(z0, z1) -> c(ENCARG(z1)) ENCODE_AND(z0, z1) -> c(ENCARG(z0)) ENCODE_AND(z0, z1) -> c(ENCARG(z1)) ENCODE_LENGTH(z0) -> c(ENCARG(z0)) ENCODE_S(z0) -> c(ENCARG(z0)) ENCODE_TAKE(z0, z1) -> c(ENCARG(z0)) ENCODE_TAKE(z0, z1) -> c(ENCARG(z1)) ---------------------------------------- (44) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encode_active(z0) -> active(encArg(z0)) encode_zeros -> zeros encode_mark(z0) -> mark(encArg(z0)) encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_0 -> 0 encode_and(z0, z1) -> and(encArg(z0), encArg(z1)) encode_tt -> tt encode_length(z0) -> length(encArg(z0)) encode_nil -> nil encode_s(z0) -> s(encArg(z0)) encode_take(z0, z1) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c6(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_and(z0, z1)) -> c7(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_length(z0)) -> c8(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: active_1, mark_1, cons_2, and_2, length_1, s_1, take_2, encArg_1, encode_active_1, encode_zeros, encode_mark_1, encode_cons_2, encode_0, encode_and_2, encode_tt, encode_length_1, encode_nil, encode_s_1, encode_take_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c4_2, c5_2, c6_3, c7_3, c8_2, c9_2, c10_3, c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1 ---------------------------------------- (45) CdtUsableRulesProof (BOTH BOUNDS(ID, ID)) The following rules are not usable and were removed: encode_active(z0) -> active(encArg(z0)) encode_zeros -> zeros encode_mark(z0) -> mark(encArg(z0)) encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_0 -> 0 encode_and(z0, z1) -> and(encArg(z0), encArg(z1)) encode_tt -> tt encode_length(z0) -> length(encArg(z0)) encode_nil -> nil encode_s(z0) -> s(encArg(z0)) encode_take(z0, z1) -> take(encArg(z0), encArg(z1)) ---------------------------------------- (46) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c6(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_and(z0, z1)) -> c7(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_length(z0)) -> c8(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c4_2, c5_2, c6_3, c7_3, c8_2, c9_2, c10_3, c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1 ---------------------------------------- (47) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) by ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros), ENCARG(zeros)) ENCARG(cons_active(0)) -> c4(ACTIVE(0), ENCARG(0)) ENCARG(cons_active(tt)) -> c4(ACTIVE(tt), ENCARG(tt)) 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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ---------------------------------------- (48) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c6(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_and(z0, z1)) -> c7(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_length(z0)) -> c8(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros), ENCARG(zeros)) ENCARG(cons_active(0)) -> c4(ACTIVE(0), ENCARG(0)) ENCARG(cons_active(tt)) -> c4(ACTIVE(tt), ENCARG(tt)) 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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c5_2, c6_3, c7_3, c8_2, c9_2, c10_3, c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2 ---------------------------------------- (49) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCARG(cons_active(tt)) -> c4(ACTIVE(tt), ENCARG(tt)) ENCARG(cons_active(nil)) -> c4(ACTIVE(nil), ENCARG(nil)) ENCARG(cons_active(0)) -> c4(ACTIVE(0), ENCARG(0)) ---------------------------------------- (50) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c6(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_and(z0, z1)) -> c7(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_length(z0)) -> c8(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c5_2, c6_3, c7_3, c8_2, c9_2, c10_3, c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2 ---------------------------------------- (51) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (52) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c6(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_and(z0, z1)) -> c7(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_length(z0)) -> c8(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c5_2, c6_3, c7_3, c8_2, c9_2, c10_3, c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1 ---------------------------------------- (53) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) by ENCARG(cons_mark(zeros)) -> c5(MARK(zeros), ENCARG(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0), ENCARG(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt), ENCARG(tt)) 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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ---------------------------------------- (54) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(cons_cons(z0, z1)) -> c6(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_and(z0, z1)) -> c7(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_length(z0)) -> c8(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros), ENCARG(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0), ENCARG(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt), ENCARG(tt)) 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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c6_3, c7_3, c8_2, c9_2, c10_3, c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2 ---------------------------------------- (55) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (56) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(cons_cons(z0, z1)) -> c6(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_and(z0, z1)) -> c7(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_length(z0)) -> c8(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c6_3, c7_3, c8_2, c9_2, c10_3, c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1 ---------------------------------------- (57) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_cons(z0, z1)) -> c6(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0), ENCARG(zeros)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0), ENCARG(tt)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(zeros), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(tt), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ---------------------------------------- (58) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(cons_and(z0, z1)) -> c7(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_length(z0)) -> c8(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0), ENCARG(zeros)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0), ENCARG(tt)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(zeros), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(tt), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c7_3, c8_2, c9_2, c10_3, c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3 ---------------------------------------- (59) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing tuple parts ---------------------------------------- (60) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(cons_and(z0, z1)) -> c7(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_length(z0)) -> c8(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c7_3, c8_2, c9_2, c10_3, c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2 ---------------------------------------- (61) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_and(z0, z1)) -> c7(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0), ENCARG(zeros)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0), ENCARG(tt)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(zeros), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(tt), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ---------------------------------------- (62) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(cons_length(z0)) -> c8(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0), ENCARG(zeros)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0), ENCARG(tt)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(zeros), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(tt), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c8_2, c9_2, c10_3, c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3 ---------------------------------------- (63) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing tuple parts ---------------------------------------- (64) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(cons_length(z0)) -> c8(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c8_2, c9_2, c10_3, c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2 ---------------------------------------- (65) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_length(z0)) -> c8(LENGTH(encArg(z0)), ENCARG(z0)) by ENCARG(cons_length(zeros)) -> c8(LENGTH(zeros), ENCARG(zeros)) ENCARG(cons_length(0)) -> c8(LENGTH(0), ENCARG(0)) ENCARG(cons_length(tt)) -> c8(LENGTH(tt), ENCARG(tt)) ENCARG(cons_length(nil)) -> c8(LENGTH(nil), ENCARG(nil)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ---------------------------------------- (66) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(zeros)) -> c8(LENGTH(zeros), ENCARG(zeros)) ENCARG(cons_length(0)) -> c8(LENGTH(0), ENCARG(0)) ENCARG(cons_length(tt)) -> c8(LENGTH(tt), ENCARG(tt)) ENCARG(cons_length(nil)) -> c8(LENGTH(nil), ENCARG(nil)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c9_2, c10_3, c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2 ---------------------------------------- (67) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCARG(cons_length(tt)) -> c8(LENGTH(tt), ENCARG(tt)) ENCARG(cons_length(zeros)) -> c8(LENGTH(zeros), ENCARG(zeros)) ENCARG(cons_length(0)) -> c8(LENGTH(0), ENCARG(0)) ENCARG(cons_length(nil)) -> c8(LENGTH(nil), ENCARG(nil)) ---------------------------------------- (68) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c9_2, c10_3, c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2 ---------------------------------------- (69) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) by ENCARG(cons_s(zeros)) -> c9(S(zeros), ENCARG(zeros)) ENCARG(cons_s(0)) -> c9(S(0), ENCARG(0)) ENCARG(cons_s(tt)) -> c9(S(tt), ENCARG(tt)) ENCARG(cons_s(nil)) -> c9(S(nil), ENCARG(nil)) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ---------------------------------------- (70) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(zeros)) -> c9(S(zeros), ENCARG(zeros)) ENCARG(cons_s(0)) -> c9(S(0), ENCARG(0)) ENCARG(cons_s(tt)) -> c9(S(tt), ENCARG(tt)) ENCARG(cons_s(nil)) -> c9(S(nil), ENCARG(nil)) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c10_3, c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2 ---------------------------------------- (71) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCARG(cons_s(zeros)) -> c9(S(zeros), ENCARG(zeros)) ENCARG(cons_s(0)) -> c9(S(0), ENCARG(0)) ENCARG(cons_s(nil)) -> c9(S(nil), ENCARG(nil)) ENCARG(cons_s(tt)) -> c9(S(tt), ENCARG(tt)) ---------------------------------------- (72) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c10_3, c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2 ---------------------------------------- (73) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_take(z0, z1)) -> c10(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0), ENCARG(zeros)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0), ENCARG(tt)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(zeros), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(tt), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ---------------------------------------- (74) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0), ENCARG(zeros)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0), ENCARG(tt)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(zeros), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(tt), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2, ENCARG_1 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3 ---------------------------------------- (75) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing tuple parts ---------------------------------------- (76) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2, ENCARG_1 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c29_3, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2 ---------------------------------------- (77) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(cons(z0, z1)) -> c29(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) by MARK(cons(z0, z1)) -> c29(ACTIVE(cons(z0, z1)), CONS(mark(z0), z1), MARK(z0)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) ---------------------------------------- (78) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(z0, z1)) -> c29(ACTIVE(cons(z0, z1)), CONS(mark(z0), z1), MARK(z0)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(z0, z1)) -> c29(ACTIVE(cons(z0, z1)), CONS(mark(z0), z1), MARK(z0)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2, ENCARG_1 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1 ---------------------------------------- (79) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (80) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2, ENCARG_1 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c31_3, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2 ---------------------------------------- (81) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(and(z0, z1)) -> c31(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) by MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) ---------------------------------------- (82) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2, ENCARG_1 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c33_3, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1 ---------------------------------------- (83) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(length(z0)) -> c33(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) by MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) ---------------------------------------- (84) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2, ENCARG_1 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c35_3, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3 ---------------------------------------- (85) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(s(z0)) -> c35(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) by MARK(s(z0)) -> c35(ACTIVE(s(z0)), S(mark(z0)), MARK(z0)) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) ---------------------------------------- (86) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(ACTIVE(s(z0)), S(mark(z0)), MARK(z0)) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(ACTIVE(s(z0)), S(mark(z0)), MARK(z0)) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2, ENCARG_1 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3 ---------------------------------------- (87) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (88) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2, ENCARG_1 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c36_4, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2 ---------------------------------------- (89) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(take(z0, z1)) -> c36(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) by MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ---------------------------------------- (90) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2, ENCARG_1 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4 ---------------------------------------- (91) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) by ENCODE_ACTIVE(zeros) -> c(ACTIVE(zeros)) ENCODE_ACTIVE(0) -> c(ACTIVE(0)) ENCODE_ACTIVE(tt) -> c(ACTIVE(tt)) 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_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ---------------------------------------- (92) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(zeros) -> c(ACTIVE(zeros)) ENCODE_ACTIVE(0) -> c(ACTIVE(0)) ENCODE_ACTIVE(tt) -> c(ACTIVE(tt)) 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_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2, ENCARG_1, ENCODE_ACTIVE_1 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4 ---------------------------------------- (93) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 1 leading nodes: ENCODE_ACTIVE(zeros) -> c(ACTIVE(zeros)) Removed 3 trailing nodes: ENCODE_ACTIVE(nil) -> c(ACTIVE(nil)) ENCODE_ACTIVE(0) -> c(ACTIVE(0)) ENCODE_ACTIVE(tt) -> c(ACTIVE(tt)) ---------------------------------------- (94) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2, ENCARG_1, ENCODE_ACTIVE_1 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4 ---------------------------------------- (95) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_MARK(z0) -> c(MARK(encArg(z0))) by ENCODE_MARK(zeros) -> c(MARK(zeros)) ENCODE_MARK(0) -> c(MARK(0)) ENCODE_MARK(tt) -> c(MARK(tt)) 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_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ---------------------------------------- (96) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(zeros) -> c(MARK(zeros)) ENCODE_MARK(0) -> c(MARK(0)) ENCODE_MARK(tt) -> c(MARK(tt)) 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_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4 ---------------------------------------- (97) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 4 leading nodes: ENCODE_MARK(zeros) -> c(MARK(zeros)) ENCODE_MARK(0) -> c(MARK(0)) ENCODE_MARK(tt) -> c(MARK(tt)) ENCODE_MARK(nil) -> c(MARK(nil)) ---------------------------------------- (98) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4 ---------------------------------------- (99) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) by ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ---------------------------------------- (100) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4 ---------------------------------------- (101) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) by ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ---------------------------------------- (102) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4 ---------------------------------------- (103) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) by ENCODE_LENGTH(zeros) -> c(LENGTH(zeros)) ENCODE_LENGTH(0) -> c(LENGTH(0)) ENCODE_LENGTH(tt) -> c(LENGTH(tt)) 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_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(encArg(z0), encArg(z1)))) ---------------------------------------- (104) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(zeros) -> c(LENGTH(zeros)) ENCODE_LENGTH(0) -> c(LENGTH(0)) ENCODE_LENGTH(tt) -> c(LENGTH(tt)) 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_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_S_1, ENCODE_TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4 ---------------------------------------- (105) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCODE_LENGTH(tt) -> c(LENGTH(tt)) ENCODE_LENGTH(0) -> c(LENGTH(0)) ENCODE_LENGTH(zeros) -> c(LENGTH(zeros)) ENCODE_LENGTH(nil) -> c(LENGTH(nil)) ---------------------------------------- (106) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_S_1, ENCODE_TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4 ---------------------------------------- (107) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_S(z0) -> c(S(encArg(z0))) by ENCODE_S(zeros) -> c(S(zeros)) ENCODE_S(0) -> c(S(0)) ENCODE_S(tt) -> c(S(tt)) 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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ---------------------------------------- (108) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(encArg(z0), encArg(z1)))) ENCODE_S(zeros) -> c(S(zeros)) ENCODE_S(0) -> c(S(0)) ENCODE_S(tt) -> c(S(tt)) 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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4 ---------------------------------------- (109) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCODE_S(zeros) -> c(S(zeros)) ENCODE_S(0) -> c(S(0)) ENCODE_S(tt) -> c(S(tt)) ENCODE_S(nil) -> c(S(nil)) ---------------------------------------- (110) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCODE_TAKE(z0, z1) -> c(TAKE(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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCODE_TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4 ---------------------------------------- (111) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) by ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ---------------------------------------- (112) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 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_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1 ---------------------------------------- (113) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) by ENCARG(cons_active(cons_active(zeros))) -> c4(ACTIVE(active(zeros)), ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_active(0))) -> c4(ACTIVE(active(0)), ENCARG(cons_active(0))) ENCARG(cons_active(cons_active(tt))) -> c4(ACTIVE(active(tt)), ENCARG(cons_active(tt))) ENCARG(cons_active(cons_active(nil))) -> c4(ACTIVE(active(nil)), ENCARG(cons_active(nil))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ---------------------------------------- (114) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(zeros))) -> c4(ACTIVE(active(zeros)), ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_active(0))) -> c4(ACTIVE(active(0)), ENCARG(cons_active(0))) ENCARG(cons_active(cons_active(tt))) -> c4(ACTIVE(active(tt)), ENCARG(cons_active(tt))) ENCARG(cons_active(cons_active(nil))) -> c4(ACTIVE(active(nil)), ENCARG(cons_active(nil))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1 ---------------------------------------- (115) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCARG(cons_active(cons_active(nil))) -> c4(ACTIVE(active(nil)), ENCARG(cons_active(nil))) ENCARG(cons_active(cons_active(0))) -> c4(ACTIVE(active(0)), ENCARG(cons_active(0))) ENCARG(cons_active(cons_active(tt))) -> c4(ACTIVE(active(tt)), ENCARG(cons_active(tt))) ---------------------------------------- (116) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(zeros))) -> c4(ACTIVE(active(zeros)), ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1 ---------------------------------------- (117) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (118) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c1_1 ---------------------------------------- (119) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) by ENCARG(cons_active(cons_mark(zeros))) -> c4(ACTIVE(mark(zeros)), ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c4(ACTIVE(mark(0)), ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c4(ACTIVE(mark(tt)), ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c4(ACTIVE(mark(nil)), ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ---------------------------------------- (120) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c4(ACTIVE(mark(zeros)), ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c4(ACTIVE(mark(0)), ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c4(ACTIVE(mark(tt)), ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c4(ACTIVE(mark(nil)), ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c1_1 ---------------------------------------- (121) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (122) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c1_1, c2_1 ---------------------------------------- (123) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) by ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ---------------------------------------- (124) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c1_1, c2_1 ---------------------------------------- (125) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) by ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ---------------------------------------- (126) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c1_1, c2_1 ---------------------------------------- (127) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) by ENCARG(cons_active(cons_length(zeros))) -> c4(ACTIVE(length(zeros)), ENCARG(cons_length(zeros))) ENCARG(cons_active(cons_length(0))) -> c4(ACTIVE(length(0)), ENCARG(cons_length(0))) ENCARG(cons_active(cons_length(tt))) -> c4(ACTIVE(length(tt)), ENCARG(cons_length(tt))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil)), ENCARG(cons_length(nil))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ---------------------------------------- (128) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(zeros))) -> c4(ACTIVE(length(zeros)), ENCARG(cons_length(zeros))) ENCARG(cons_active(cons_length(0))) -> c4(ACTIVE(length(0)), ENCARG(cons_length(0))) ENCARG(cons_active(cons_length(tt))) -> c4(ACTIVE(length(tt)), ENCARG(cons_length(tt))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil)), ENCARG(cons_length(nil))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c1_1, c2_1 ---------------------------------------- (129) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCARG(cons_active(cons_length(0))) -> c4(ACTIVE(length(0)), ENCARG(cons_length(0))) ENCARG(cons_active(cons_length(tt))) -> c4(ACTIVE(length(tt)), ENCARG(cons_length(tt))) ENCARG(cons_active(cons_length(zeros))) -> c4(ACTIVE(length(zeros)), ENCARG(cons_length(zeros))) ---------------------------------------- (130) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil)), ENCARG(cons_length(nil))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c1_1, c2_1 ---------------------------------------- (131) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (132) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c1_1, c2_1 ---------------------------------------- (133) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) by ENCARG(cons_active(cons_s(zeros))) -> c4(ACTIVE(s(zeros)), ENCARG(cons_s(zeros))) ENCARG(cons_active(cons_s(0))) -> c4(ACTIVE(s(0)), ENCARG(cons_s(0))) ENCARG(cons_active(cons_s(tt))) -> c4(ACTIVE(s(tt)), ENCARG(cons_s(tt))) ENCARG(cons_active(cons_s(nil))) -> c4(ACTIVE(s(nil)), ENCARG(cons_s(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ---------------------------------------- (134) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(zeros))) -> c4(ACTIVE(s(zeros)), ENCARG(cons_s(zeros))) ENCARG(cons_active(cons_s(0))) -> c4(ACTIVE(s(0)), ENCARG(cons_s(0))) ENCARG(cons_active(cons_s(tt))) -> c4(ACTIVE(s(tt)), ENCARG(cons_s(tt))) ENCARG(cons_active(cons_s(nil))) -> c4(ACTIVE(s(nil)), ENCARG(cons_s(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c1_1, c2_1 ---------------------------------------- (135) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCARG(cons_active(cons_s(zeros))) -> c4(ACTIVE(s(zeros)), ENCARG(cons_s(zeros))) ENCARG(cons_active(cons_s(tt))) -> c4(ACTIVE(s(tt)), ENCARG(cons_s(tt))) ENCARG(cons_active(cons_s(0))) -> c4(ACTIVE(s(0)), ENCARG(cons_s(0))) ENCARG(cons_active(cons_s(nil))) -> c4(ACTIVE(s(nil)), ENCARG(cons_s(nil))) ---------------------------------------- (136) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c1_1, c2_1 ---------------------------------------- (137) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) by ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ---------------------------------------- (138) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 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_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1 ---------------------------------------- (139) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) by ENCARG(cons_mark(cons_active(zeros))) -> c5(MARK(active(zeros)), ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_active(0))) -> c5(MARK(active(0)), ENCARG(cons_active(0))) ENCARG(cons_mark(cons_active(tt))) -> c5(MARK(active(tt)), ENCARG(cons_active(tt))) ENCARG(cons_mark(cons_active(nil))) -> c5(MARK(active(nil)), ENCARG(cons_active(nil))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ---------------------------------------- (140) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(zeros))) -> c5(MARK(active(zeros)), ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_active(0))) -> c5(MARK(active(0)), ENCARG(cons_active(0))) ENCARG(cons_mark(cons_active(tt))) -> c5(MARK(active(tt)), ENCARG(cons_active(tt))) ENCARG(cons_mark(cons_active(nil))) -> c5(MARK(active(nil)), ENCARG(cons_active(nil))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1 ---------------------------------------- (141) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCARG(cons_mark(cons_active(nil))) -> c5(MARK(active(nil)), ENCARG(cons_active(nil))) ENCARG(cons_mark(cons_active(0))) -> c5(MARK(active(0)), ENCARG(cons_active(0))) ENCARG(cons_mark(cons_active(tt))) -> c5(MARK(active(tt)), ENCARG(cons_active(tt))) ---------------------------------------- (142) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(zeros))) -> c5(MARK(active(zeros)), ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1 ---------------------------------------- (143) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (144) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1 ---------------------------------------- (145) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) by ENCARG(cons_mark(cons_mark(zeros))) -> c5(MARK(mark(zeros)), ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c5(MARK(mark(0)), ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c5(MARK(mark(tt)), ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c5(MARK(mark(nil)), ENCARG(cons_mark(nil))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ---------------------------------------- (146) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c5(MARK(mark(zeros)), ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c5(MARK(mark(0)), ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c5(MARK(mark(tt)), ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c5(MARK(mark(nil)), ENCARG(cons_mark(nil))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1 ---------------------------------------- (147) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (148) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1 ---------------------------------------- (149) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c6(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) by ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(zeros), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(0), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(tt), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(nil), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) ---------------------------------------- (150) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(zeros), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(0), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(tt), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(nil), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1 ---------------------------------------- (151) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (152) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1 ---------------------------------------- (153) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c6(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) by ENCARG(cons_cons(x0, cons_and(x1, zeros))) -> c6(CONS(encArg(x0), and(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_and(x1, zeros))) ENCARG(cons_cons(x0, cons_and(x1, 0))) -> c6(CONS(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_cons(x0, cons_and(x1, tt))) -> c6(CONS(encArg(x0), and(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_and(x1, tt))) ENCARG(cons_cons(x0, cons_and(x1, nil))) -> c6(CONS(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_cons(x0, cons_and(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_and(zeros, x2))) -> c6(CONS(encArg(x0), and(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_and(zeros, x2))) ENCARG(cons_cons(x0, cons_and(0, x2))) -> c6(CONS(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_cons(x0, cons_and(tt, x2))) -> c6(CONS(encArg(x0), and(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_and(tt, x2))) ENCARG(cons_cons(x0, cons_and(nil, x2))) -> c6(CONS(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_cons(x0, cons_and(cons_active(z0), x2))) -> c6(CONS(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_length(z0), x2))) -> c6(CONS(encArg(x0), and(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_s(z0), x2))) -> c6(CONS(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), and(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_take(z0, z1), x2))) ENCARG(cons_cons(zeros, cons_and(x1, x2))) -> c6(CONS(zeros, and(encArg(x1), encArg(x2))), ENCARG(zeros), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(0, cons_and(x1, x2))) -> c6(CONS(0, and(encArg(x1), encArg(x2))), ENCARG(0), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(tt, cons_and(x1, x2))) -> c6(CONS(tt, and(encArg(x1), encArg(x2))), ENCARG(tt), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(nil, cons_and(x1, x2))) -> c6(CONS(nil, and(encArg(x1), encArg(x2))), ENCARG(nil), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_active(z0), cons_and(x1, x2))) -> c6(CONS(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_and(x1, x2))) -> c6(CONS(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_and(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_and(x1, x2))) -> c6(CONS(length(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_and(x1, x2))) -> c6(CONS(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_and(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_and(x1, x2))) ---------------------------------------- (154) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(x0, cons_and(x1, zeros))) -> c6(CONS(encArg(x0), and(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_and(x1, zeros))) ENCARG(cons_cons(x0, cons_and(x1, 0))) -> c6(CONS(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_cons(x0, cons_and(x1, tt))) -> c6(CONS(encArg(x0), and(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_and(x1, tt))) ENCARG(cons_cons(x0, cons_and(x1, nil))) -> c6(CONS(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_cons(x0, cons_and(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_and(zeros, x2))) -> c6(CONS(encArg(x0), and(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_and(zeros, x2))) ENCARG(cons_cons(x0, cons_and(0, x2))) -> c6(CONS(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_cons(x0, cons_and(tt, x2))) -> c6(CONS(encArg(x0), and(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_and(tt, x2))) ENCARG(cons_cons(x0, cons_and(nil, x2))) -> c6(CONS(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_cons(x0, cons_and(cons_active(z0), x2))) -> c6(CONS(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_length(z0), x2))) -> c6(CONS(encArg(x0), and(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_s(z0), x2))) -> c6(CONS(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), and(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_take(z0, z1), x2))) ENCARG(cons_cons(zeros, cons_and(x1, x2))) -> c6(CONS(zeros, and(encArg(x1), encArg(x2))), ENCARG(zeros), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(0, cons_and(x1, x2))) -> c6(CONS(0, and(encArg(x1), encArg(x2))), ENCARG(0), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(tt, cons_and(x1, x2))) -> c6(CONS(tt, and(encArg(x1), encArg(x2))), ENCARG(tt), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(nil, cons_and(x1, x2))) -> c6(CONS(nil, and(encArg(x1), encArg(x2))), ENCARG(nil), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_active(z0), cons_and(x1, x2))) -> c6(CONS(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_and(x1, x2))) -> c6(CONS(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_and(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_and(x1, x2))) -> c6(CONS(length(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_and(x1, x2))) -> c6(CONS(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_and(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_and(x1, x2))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1 ---------------------------------------- (155) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (156) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(x0, cons_and(x1, zeros))) -> c6(CONS(encArg(x0), and(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_and(x1, zeros))) ENCARG(cons_cons(x0, cons_and(x1, 0))) -> c6(CONS(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_cons(x0, cons_and(x1, tt))) -> c6(CONS(encArg(x0), and(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_and(x1, tt))) ENCARG(cons_cons(x0, cons_and(x1, nil))) -> c6(CONS(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_cons(x0, cons_and(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_and(zeros, x2))) -> c6(CONS(encArg(x0), and(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_and(zeros, x2))) ENCARG(cons_cons(x0, cons_and(0, x2))) -> c6(CONS(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_cons(x0, cons_and(tt, x2))) -> c6(CONS(encArg(x0), and(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_and(tt, x2))) ENCARG(cons_cons(x0, cons_and(nil, x2))) -> c6(CONS(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_cons(x0, cons_and(cons_active(z0), x2))) -> c6(CONS(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_length(z0), x2))) -> c6(CONS(encArg(x0), and(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_s(z0), x2))) -> c6(CONS(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), and(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_and(x1, x2))) -> c6(CONS(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_and(x1, x2))) -> c6(CONS(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_and(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_and(x1, x2))) -> c6(CONS(length(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_and(x1, x2))) -> c6(CONS(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_and(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(zeros, cons_and(x1, x2))) -> c6(CONS(zeros, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(0, cons_and(x1, x2))) -> c6(CONS(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(tt, cons_and(x1, x2))) -> c6(CONS(tt, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(nil, cons_and(x1, x2))) -> c6(CONS(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1 ---------------------------------------- (157) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_cons(x0, cons_length(z0))) -> c6(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) by ENCARG(cons_cons(x0, cons_length(zeros))) -> c6(CONS(encArg(x0), length(zeros)), ENCARG(x0), ENCARG(cons_length(zeros))) ENCARG(cons_cons(x0, cons_length(0))) -> c6(CONS(encArg(x0), length(0)), ENCARG(x0), ENCARG(cons_length(0))) ENCARG(cons_cons(x0, cons_length(tt))) -> c6(CONS(encArg(x0), length(tt)), ENCARG(x0), ENCARG(cons_length(tt))) ENCARG(cons_cons(x0, cons_length(nil))) -> c6(CONS(encArg(x0), length(nil)), ENCARG(x0), ENCARG(cons_length(nil))) ENCARG(cons_cons(x0, cons_length(cons_active(z0)))) -> c6(CONS(encArg(x0), length(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_cons(x0, cons_length(cons_mark(z0)))) -> c6(CONS(encArg(x0), length(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_length(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), length(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), length(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_length(z0)))) -> c6(CONS(encArg(x0), length(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_cons(x0, cons_length(cons_s(z0)))) -> c6(CONS(encArg(x0), length(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_cons(x0, cons_length(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), length(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_cons(zeros, cons_length(x1))) -> c6(CONS(zeros, length(encArg(x1))), ENCARG(zeros), ENCARG(cons_length(x1))) ENCARG(cons_cons(0, cons_length(x1))) -> c6(CONS(0, length(encArg(x1))), ENCARG(0), ENCARG(cons_length(x1))) ENCARG(cons_cons(tt, cons_length(x1))) -> c6(CONS(tt, length(encArg(x1))), ENCARG(tt), ENCARG(cons_length(x1))) ENCARG(cons_cons(nil, cons_length(x1))) -> c6(CONS(nil, length(encArg(x1))), ENCARG(nil), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_active(z0), cons_length(x1))) -> c6(CONS(active(encArg(z0)), length(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_mark(z0), cons_length(x1))) -> c6(CONS(mark(encArg(z0)), length(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_length(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_length(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_length(z0), cons_length(x1))) -> c6(CONS(length(encArg(z0)), length(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_s(z0), cons_length(x1))) -> c6(CONS(s(encArg(z0)), length(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_length(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_length(x1))) ---------------------------------------- (158) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(x0, cons_and(x1, zeros))) -> c6(CONS(encArg(x0), and(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_and(x1, zeros))) ENCARG(cons_cons(x0, cons_and(x1, 0))) -> c6(CONS(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_cons(x0, cons_and(x1, tt))) -> c6(CONS(encArg(x0), and(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_and(x1, tt))) ENCARG(cons_cons(x0, cons_and(x1, nil))) -> c6(CONS(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_cons(x0, cons_and(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_and(zeros, x2))) -> c6(CONS(encArg(x0), and(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_and(zeros, x2))) ENCARG(cons_cons(x0, cons_and(0, x2))) -> c6(CONS(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_cons(x0, cons_and(tt, x2))) -> c6(CONS(encArg(x0), and(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_and(tt, x2))) ENCARG(cons_cons(x0, cons_and(nil, x2))) -> c6(CONS(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_cons(x0, cons_and(cons_active(z0), x2))) -> c6(CONS(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_length(z0), x2))) -> c6(CONS(encArg(x0), and(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_s(z0), x2))) -> c6(CONS(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), and(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_and(x1, x2))) -> c6(CONS(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_and(x1, x2))) -> c6(CONS(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_and(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_and(x1, x2))) -> c6(CONS(length(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_and(x1, x2))) -> c6(CONS(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_and(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(zeros, cons_and(x1, x2))) -> c6(CONS(zeros, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(0, cons_and(x1, x2))) -> c6(CONS(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(tt, cons_and(x1, x2))) -> c6(CONS(tt, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(nil, cons_and(x1, x2))) -> c6(CONS(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(x0, cons_length(zeros))) -> c6(CONS(encArg(x0), length(zeros)), ENCARG(x0), ENCARG(cons_length(zeros))) ENCARG(cons_cons(x0, cons_length(0))) -> c6(CONS(encArg(x0), length(0)), ENCARG(x0), ENCARG(cons_length(0))) ENCARG(cons_cons(x0, cons_length(tt))) -> c6(CONS(encArg(x0), length(tt)), ENCARG(x0), ENCARG(cons_length(tt))) ENCARG(cons_cons(x0, cons_length(nil))) -> c6(CONS(encArg(x0), length(nil)), ENCARG(x0), ENCARG(cons_length(nil))) ENCARG(cons_cons(x0, cons_length(cons_active(z0)))) -> c6(CONS(encArg(x0), length(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_cons(x0, cons_length(cons_mark(z0)))) -> c6(CONS(encArg(x0), length(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_length(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), length(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), length(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_length(z0)))) -> c6(CONS(encArg(x0), length(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_cons(x0, cons_length(cons_s(z0)))) -> c6(CONS(encArg(x0), length(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_cons(x0, cons_length(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), length(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_cons(zeros, cons_length(x1))) -> c6(CONS(zeros, length(encArg(x1))), ENCARG(zeros), ENCARG(cons_length(x1))) ENCARG(cons_cons(0, cons_length(x1))) -> c6(CONS(0, length(encArg(x1))), ENCARG(0), ENCARG(cons_length(x1))) ENCARG(cons_cons(tt, cons_length(x1))) -> c6(CONS(tt, length(encArg(x1))), ENCARG(tt), ENCARG(cons_length(x1))) ENCARG(cons_cons(nil, cons_length(x1))) -> c6(CONS(nil, length(encArg(x1))), ENCARG(nil), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_active(z0), cons_length(x1))) -> c6(CONS(active(encArg(z0)), length(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_mark(z0), cons_length(x1))) -> c6(CONS(mark(encArg(z0)), length(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_length(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_length(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_length(z0), cons_length(x1))) -> c6(CONS(length(encArg(z0)), length(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_s(z0), cons_length(x1))) -> c6(CONS(s(encArg(z0)), length(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_length(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_length(x1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1 ---------------------------------------- (159) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing tuple parts ---------------------------------------- (160) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(x0, cons_and(x1, zeros))) -> c6(CONS(encArg(x0), and(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_and(x1, zeros))) ENCARG(cons_cons(x0, cons_and(x1, 0))) -> c6(CONS(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_cons(x0, cons_and(x1, tt))) -> c6(CONS(encArg(x0), and(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_and(x1, tt))) ENCARG(cons_cons(x0, cons_and(x1, nil))) -> c6(CONS(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_cons(x0, cons_and(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_and(zeros, x2))) -> c6(CONS(encArg(x0), and(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_and(zeros, x2))) ENCARG(cons_cons(x0, cons_and(0, x2))) -> c6(CONS(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_cons(x0, cons_and(tt, x2))) -> c6(CONS(encArg(x0), and(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_and(tt, x2))) ENCARG(cons_cons(x0, cons_and(nil, x2))) -> c6(CONS(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_cons(x0, cons_and(cons_active(z0), x2))) -> c6(CONS(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_length(z0), x2))) -> c6(CONS(encArg(x0), and(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_s(z0), x2))) -> c6(CONS(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), and(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_and(x1, x2))) -> c6(CONS(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_and(x1, x2))) -> c6(CONS(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_and(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_and(x1, x2))) -> c6(CONS(length(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_and(x1, x2))) -> c6(CONS(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_and(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(zeros, cons_and(x1, x2))) -> c6(CONS(zeros, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(0, cons_and(x1, x2))) -> c6(CONS(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(tt, cons_and(x1, x2))) -> c6(CONS(tt, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(nil, cons_and(x1, x2))) -> c6(CONS(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(x0, cons_length(cons_active(z0)))) -> c6(CONS(encArg(x0), length(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_cons(x0, cons_length(cons_mark(z0)))) -> c6(CONS(encArg(x0), length(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_length(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), length(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), length(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_length(z0)))) -> c6(CONS(encArg(x0), length(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_cons(x0, cons_length(cons_s(z0)))) -> c6(CONS(encArg(x0), length(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_cons(x0, cons_length(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), length(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_length(x1))) -> c6(CONS(active(encArg(z0)), length(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_mark(z0), cons_length(x1))) -> c6(CONS(mark(encArg(z0)), length(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_length(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_length(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_length(z0), cons_length(x1))) -> c6(CONS(length(encArg(z0)), length(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_s(z0), cons_length(x1))) -> c6(CONS(s(encArg(z0)), length(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_length(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_length(zeros))) -> c6(CONS(encArg(x0), length(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(0))) -> c6(CONS(encArg(x0), length(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(tt))) -> c6(CONS(encArg(x0), length(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(nil))) -> c6(CONS(encArg(x0), length(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_length(x1))) -> c6(CONS(zeros, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(0, cons_length(x1))) -> c6(CONS(0, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(tt, cons_length(x1))) -> c6(CONS(tt, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(nil, cons_length(x1))) -> c6(CONS(nil, length(encArg(x1))), ENCARG(cons_length(x1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1 ---------------------------------------- (161) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_cons(x0, cons_s(z0))) -> c6(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) by ENCARG(cons_cons(x0, cons_s(zeros))) -> c6(CONS(encArg(x0), s(zeros)), ENCARG(x0), ENCARG(cons_s(zeros))) ENCARG(cons_cons(x0, cons_s(0))) -> c6(CONS(encArg(x0), s(0)), ENCARG(x0), ENCARG(cons_s(0))) ENCARG(cons_cons(x0, cons_s(tt))) -> c6(CONS(encArg(x0), s(tt)), ENCARG(x0), ENCARG(cons_s(tt))) ENCARG(cons_cons(x0, cons_s(nil))) -> c6(CONS(encArg(x0), s(nil)), ENCARG(x0), ENCARG(cons_s(nil))) ENCARG(cons_cons(x0, cons_s(cons_active(z0)))) -> c6(CONS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_cons(x0, cons_s(cons_mark(z0)))) -> c6(CONS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_s(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), s(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), s(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_length(z0)))) -> c6(CONS(encArg(x0), s(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_cons(x0, cons_s(cons_s(z0)))) -> c6(CONS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_cons(x0, cons_s(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), s(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_cons(zeros, cons_s(x1))) -> c6(CONS(zeros, s(encArg(x1))), ENCARG(zeros), ENCARG(cons_s(x1))) ENCARG(cons_cons(0, cons_s(x1))) -> c6(CONS(0, s(encArg(x1))), ENCARG(0), ENCARG(cons_s(x1))) ENCARG(cons_cons(tt, cons_s(x1))) -> c6(CONS(tt, s(encArg(x1))), ENCARG(tt), ENCARG(cons_s(x1))) ENCARG(cons_cons(nil, cons_s(x1))) -> c6(CONS(nil, s(encArg(x1))), ENCARG(nil), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_active(z0), cons_s(x1))) -> c6(CONS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_mark(z0), cons_s(x1))) -> c6(CONS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_s(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_s(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_length(z0), cons_s(x1))) -> c6(CONS(length(encArg(z0)), s(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_s(z0), cons_s(x1))) -> c6(CONS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_s(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_s(x1))) ---------------------------------------- (162) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(x0, cons_and(x1, zeros))) -> c6(CONS(encArg(x0), and(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_and(x1, zeros))) ENCARG(cons_cons(x0, cons_and(x1, 0))) -> c6(CONS(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_cons(x0, cons_and(x1, tt))) -> c6(CONS(encArg(x0), and(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_and(x1, tt))) ENCARG(cons_cons(x0, cons_and(x1, nil))) -> c6(CONS(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_cons(x0, cons_and(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_and(zeros, x2))) -> c6(CONS(encArg(x0), and(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_and(zeros, x2))) ENCARG(cons_cons(x0, cons_and(0, x2))) -> c6(CONS(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_cons(x0, cons_and(tt, x2))) -> c6(CONS(encArg(x0), and(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_and(tt, x2))) ENCARG(cons_cons(x0, cons_and(nil, x2))) -> c6(CONS(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_cons(x0, cons_and(cons_active(z0), x2))) -> c6(CONS(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_length(z0), x2))) -> c6(CONS(encArg(x0), and(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_s(z0), x2))) -> c6(CONS(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), and(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_and(x1, x2))) -> c6(CONS(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_and(x1, x2))) -> c6(CONS(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_and(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_and(x1, x2))) -> c6(CONS(length(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_and(x1, x2))) -> c6(CONS(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_and(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(zeros, cons_and(x1, x2))) -> c6(CONS(zeros, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(0, cons_and(x1, x2))) -> c6(CONS(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(tt, cons_and(x1, x2))) -> c6(CONS(tt, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(nil, cons_and(x1, x2))) -> c6(CONS(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(x0, cons_length(cons_active(z0)))) -> c6(CONS(encArg(x0), length(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_cons(x0, cons_length(cons_mark(z0)))) -> c6(CONS(encArg(x0), length(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_length(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), length(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), length(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_length(z0)))) -> c6(CONS(encArg(x0), length(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_cons(x0, cons_length(cons_s(z0)))) -> c6(CONS(encArg(x0), length(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_cons(x0, cons_length(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), length(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_length(x1))) -> c6(CONS(active(encArg(z0)), length(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_mark(z0), cons_length(x1))) -> c6(CONS(mark(encArg(z0)), length(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_length(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_length(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_length(z0), cons_length(x1))) -> c6(CONS(length(encArg(z0)), length(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_s(z0), cons_length(x1))) -> c6(CONS(s(encArg(z0)), length(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_length(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_length(zeros))) -> c6(CONS(encArg(x0), length(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(0))) -> c6(CONS(encArg(x0), length(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(tt))) -> c6(CONS(encArg(x0), length(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(nil))) -> c6(CONS(encArg(x0), length(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_length(x1))) -> c6(CONS(zeros, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(0, cons_length(x1))) -> c6(CONS(0, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(tt, cons_length(x1))) -> c6(CONS(tt, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(nil, cons_length(x1))) -> c6(CONS(nil, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_s(zeros))) -> c6(CONS(encArg(x0), s(zeros)), ENCARG(x0), ENCARG(cons_s(zeros))) ENCARG(cons_cons(x0, cons_s(0))) -> c6(CONS(encArg(x0), s(0)), ENCARG(x0), ENCARG(cons_s(0))) ENCARG(cons_cons(x0, cons_s(tt))) -> c6(CONS(encArg(x0), s(tt)), ENCARG(x0), ENCARG(cons_s(tt))) ENCARG(cons_cons(x0, cons_s(nil))) -> c6(CONS(encArg(x0), s(nil)), ENCARG(x0), ENCARG(cons_s(nil))) ENCARG(cons_cons(x0, cons_s(cons_active(z0)))) -> c6(CONS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_cons(x0, cons_s(cons_mark(z0)))) -> c6(CONS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_s(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), s(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), s(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_length(z0)))) -> c6(CONS(encArg(x0), s(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_cons(x0, cons_s(cons_s(z0)))) -> c6(CONS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_cons(x0, cons_s(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), s(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_cons(zeros, cons_s(x1))) -> c6(CONS(zeros, s(encArg(x1))), ENCARG(zeros), ENCARG(cons_s(x1))) ENCARG(cons_cons(0, cons_s(x1))) -> c6(CONS(0, s(encArg(x1))), ENCARG(0), ENCARG(cons_s(x1))) ENCARG(cons_cons(tt, cons_s(x1))) -> c6(CONS(tt, s(encArg(x1))), ENCARG(tt), ENCARG(cons_s(x1))) ENCARG(cons_cons(nil, cons_s(x1))) -> c6(CONS(nil, s(encArg(x1))), ENCARG(nil), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_active(z0), cons_s(x1))) -> c6(CONS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_mark(z0), cons_s(x1))) -> c6(CONS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_s(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_s(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_length(z0), cons_s(x1))) -> c6(CONS(length(encArg(z0)), s(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_s(z0), cons_s(x1))) -> c6(CONS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_s(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_s(x1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1 ---------------------------------------- (163) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing tuple parts ---------------------------------------- (164) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(x0, cons_and(x1, zeros))) -> c6(CONS(encArg(x0), and(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_and(x1, zeros))) ENCARG(cons_cons(x0, cons_and(x1, 0))) -> c6(CONS(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_cons(x0, cons_and(x1, tt))) -> c6(CONS(encArg(x0), and(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_and(x1, tt))) ENCARG(cons_cons(x0, cons_and(x1, nil))) -> c6(CONS(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_cons(x0, cons_and(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_and(zeros, x2))) -> c6(CONS(encArg(x0), and(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_and(zeros, x2))) ENCARG(cons_cons(x0, cons_and(0, x2))) -> c6(CONS(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_cons(x0, cons_and(tt, x2))) -> c6(CONS(encArg(x0), and(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_and(tt, x2))) ENCARG(cons_cons(x0, cons_and(nil, x2))) -> c6(CONS(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_cons(x0, cons_and(cons_active(z0), x2))) -> c6(CONS(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_length(z0), x2))) -> c6(CONS(encArg(x0), and(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_s(z0), x2))) -> c6(CONS(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), and(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_and(x1, x2))) -> c6(CONS(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_and(x1, x2))) -> c6(CONS(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_and(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_and(x1, x2))) -> c6(CONS(length(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_and(x1, x2))) -> c6(CONS(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_and(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(zeros, cons_and(x1, x2))) -> c6(CONS(zeros, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(0, cons_and(x1, x2))) -> c6(CONS(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(tt, cons_and(x1, x2))) -> c6(CONS(tt, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(nil, cons_and(x1, x2))) -> c6(CONS(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(x0, cons_length(cons_active(z0)))) -> c6(CONS(encArg(x0), length(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_cons(x0, cons_length(cons_mark(z0)))) -> c6(CONS(encArg(x0), length(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_length(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), length(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), length(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_length(z0)))) -> c6(CONS(encArg(x0), length(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_cons(x0, cons_length(cons_s(z0)))) -> c6(CONS(encArg(x0), length(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_cons(x0, cons_length(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), length(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_length(x1))) -> c6(CONS(active(encArg(z0)), length(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_mark(z0), cons_length(x1))) -> c6(CONS(mark(encArg(z0)), length(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_length(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_length(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_length(z0), cons_length(x1))) -> c6(CONS(length(encArg(z0)), length(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_s(z0), cons_length(x1))) -> c6(CONS(s(encArg(z0)), length(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_length(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_length(zeros))) -> c6(CONS(encArg(x0), length(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(0))) -> c6(CONS(encArg(x0), length(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(tt))) -> c6(CONS(encArg(x0), length(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(nil))) -> c6(CONS(encArg(x0), length(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_length(x1))) -> c6(CONS(zeros, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(0, cons_length(x1))) -> c6(CONS(0, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(tt, cons_length(x1))) -> c6(CONS(tt, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(nil, cons_length(x1))) -> c6(CONS(nil, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_s(cons_active(z0)))) -> c6(CONS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_cons(x0, cons_s(cons_mark(z0)))) -> c6(CONS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_s(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), s(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), s(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_length(z0)))) -> c6(CONS(encArg(x0), s(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_cons(x0, cons_s(cons_s(z0)))) -> c6(CONS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_cons(x0, cons_s(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), s(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_s(x1))) -> c6(CONS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_mark(z0), cons_s(x1))) -> c6(CONS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_s(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_s(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_length(z0), cons_s(x1))) -> c6(CONS(length(encArg(z0)), s(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_s(z0), cons_s(x1))) -> c6(CONS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_s(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_s(zeros))) -> c6(CONS(encArg(x0), s(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(0))) -> c6(CONS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(tt))) -> c6(CONS(encArg(x0), s(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(nil))) -> c6(CONS(encArg(x0), s(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_s(x1))) -> c6(CONS(zeros, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(0, cons_s(x1))) -> c6(CONS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(tt, cons_s(x1))) -> c6(CONS(tt, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(nil, cons_s(x1))) -> c6(CONS(nil, s(encArg(x1))), ENCARG(cons_s(x1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1 ---------------------------------------- (165) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c6(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) by ENCARG(cons_cons(x0, cons_take(x1, zeros))) -> c6(CONS(encArg(x0), take(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_take(x1, zeros))) ENCARG(cons_cons(x0, cons_take(x1, 0))) -> c6(CONS(encArg(x0), take(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_take(x1, 0))) ENCARG(cons_cons(x0, cons_take(x1, tt))) -> c6(CONS(encArg(x0), take(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_take(x1, tt))) ENCARG(cons_cons(x0, cons_take(x1, nil))) -> c6(CONS(encArg(x0), take(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_take(x1, nil))) ENCARG(cons_cons(x0, cons_take(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_take(zeros, x2))) -> c6(CONS(encArg(x0), take(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_take(zeros, x2))) ENCARG(cons_cons(x0, cons_take(0, x2))) -> c6(CONS(encArg(x0), take(0, encArg(x2))), ENCARG(x0), ENCARG(cons_take(0, x2))) ENCARG(cons_cons(x0, cons_take(tt, x2))) -> c6(CONS(encArg(x0), take(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_take(tt, x2))) ENCARG(cons_cons(x0, cons_take(nil, x2))) -> c6(CONS(encArg(x0), take(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_take(nil, x2))) ENCARG(cons_cons(x0, cons_take(cons_active(z0), x2))) -> c6(CONS(encArg(x0), take(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), take(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), take(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), take(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_length(z0), x2))) -> c6(CONS(encArg(x0), take(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_s(z0), x2))) -> c6(CONS(encArg(x0), take(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), take(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_take(z0, z1), x2))) ENCARG(cons_cons(zeros, cons_take(x1, x2))) -> c6(CONS(zeros, take(encArg(x1), encArg(x2))), ENCARG(zeros), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(0, cons_take(x1, x2))) -> c6(CONS(0, take(encArg(x1), encArg(x2))), ENCARG(0), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(tt, cons_take(x1, x2))) -> c6(CONS(tt, take(encArg(x1), encArg(x2))), ENCARG(tt), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(nil, cons_take(x1, x2))) -> c6(CONS(nil, take(encArg(x1), encArg(x2))), ENCARG(nil), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_active(z0), cons_take(x1, x2))) -> c6(CONS(active(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_take(x1, x2))) -> c6(CONS(mark(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_take(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_take(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_take(x1, x2))) -> c6(CONS(length(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_take(x1, x2))) -> c6(CONS(s(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_take(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_take(x1, x2))) ---------------------------------------- (166) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(x0, cons_and(x1, zeros))) -> c6(CONS(encArg(x0), and(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_and(x1, zeros))) ENCARG(cons_cons(x0, cons_and(x1, 0))) -> c6(CONS(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_cons(x0, cons_and(x1, tt))) -> c6(CONS(encArg(x0), and(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_and(x1, tt))) ENCARG(cons_cons(x0, cons_and(x1, nil))) -> c6(CONS(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_cons(x0, cons_and(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_and(zeros, x2))) -> c6(CONS(encArg(x0), and(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_and(zeros, x2))) ENCARG(cons_cons(x0, cons_and(0, x2))) -> c6(CONS(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_cons(x0, cons_and(tt, x2))) -> c6(CONS(encArg(x0), and(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_and(tt, x2))) ENCARG(cons_cons(x0, cons_and(nil, x2))) -> c6(CONS(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_cons(x0, cons_and(cons_active(z0), x2))) -> c6(CONS(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_length(z0), x2))) -> c6(CONS(encArg(x0), and(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_s(z0), x2))) -> c6(CONS(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), and(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_and(x1, x2))) -> c6(CONS(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_and(x1, x2))) -> c6(CONS(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_and(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_and(x1, x2))) -> c6(CONS(length(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_and(x1, x2))) -> c6(CONS(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_and(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(zeros, cons_and(x1, x2))) -> c6(CONS(zeros, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(0, cons_and(x1, x2))) -> c6(CONS(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(tt, cons_and(x1, x2))) -> c6(CONS(tt, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(nil, cons_and(x1, x2))) -> c6(CONS(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(x0, cons_length(cons_active(z0)))) -> c6(CONS(encArg(x0), length(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_cons(x0, cons_length(cons_mark(z0)))) -> c6(CONS(encArg(x0), length(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_length(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), length(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), length(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_length(z0)))) -> c6(CONS(encArg(x0), length(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_cons(x0, cons_length(cons_s(z0)))) -> c6(CONS(encArg(x0), length(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_cons(x0, cons_length(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), length(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_length(x1))) -> c6(CONS(active(encArg(z0)), length(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_mark(z0), cons_length(x1))) -> c6(CONS(mark(encArg(z0)), length(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_length(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_length(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_length(z0), cons_length(x1))) -> c6(CONS(length(encArg(z0)), length(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_s(z0), cons_length(x1))) -> c6(CONS(s(encArg(z0)), length(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_length(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_length(zeros))) -> c6(CONS(encArg(x0), length(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(0))) -> c6(CONS(encArg(x0), length(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(tt))) -> c6(CONS(encArg(x0), length(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(nil))) -> c6(CONS(encArg(x0), length(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_length(x1))) -> c6(CONS(zeros, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(0, cons_length(x1))) -> c6(CONS(0, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(tt, cons_length(x1))) -> c6(CONS(tt, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(nil, cons_length(x1))) -> c6(CONS(nil, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_s(cons_active(z0)))) -> c6(CONS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_cons(x0, cons_s(cons_mark(z0)))) -> c6(CONS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_s(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), s(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), s(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_length(z0)))) -> c6(CONS(encArg(x0), s(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_cons(x0, cons_s(cons_s(z0)))) -> c6(CONS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_cons(x0, cons_s(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), s(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_s(x1))) -> c6(CONS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_mark(z0), cons_s(x1))) -> c6(CONS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_s(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_s(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_length(z0), cons_s(x1))) -> c6(CONS(length(encArg(z0)), s(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_s(z0), cons_s(x1))) -> c6(CONS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_s(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_s(zeros))) -> c6(CONS(encArg(x0), s(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(0))) -> c6(CONS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(tt))) -> c6(CONS(encArg(x0), s(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(nil))) -> c6(CONS(encArg(x0), s(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_s(x1))) -> c6(CONS(zeros, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(0, cons_s(x1))) -> c6(CONS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(tt, cons_s(x1))) -> c6(CONS(tt, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(nil, cons_s(x1))) -> c6(CONS(nil, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_take(x1, zeros))) -> c6(CONS(encArg(x0), take(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_take(x1, zeros))) ENCARG(cons_cons(x0, cons_take(x1, 0))) -> c6(CONS(encArg(x0), take(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_take(x1, 0))) ENCARG(cons_cons(x0, cons_take(x1, tt))) -> c6(CONS(encArg(x0), take(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_take(x1, tt))) ENCARG(cons_cons(x0, cons_take(x1, nil))) -> c6(CONS(encArg(x0), take(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_take(x1, nil))) ENCARG(cons_cons(x0, cons_take(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_take(zeros, x2))) -> c6(CONS(encArg(x0), take(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_take(zeros, x2))) ENCARG(cons_cons(x0, cons_take(0, x2))) -> c6(CONS(encArg(x0), take(0, encArg(x2))), ENCARG(x0), ENCARG(cons_take(0, x2))) ENCARG(cons_cons(x0, cons_take(tt, x2))) -> c6(CONS(encArg(x0), take(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_take(tt, x2))) ENCARG(cons_cons(x0, cons_take(nil, x2))) -> c6(CONS(encArg(x0), take(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_take(nil, x2))) ENCARG(cons_cons(x0, cons_take(cons_active(z0), x2))) -> c6(CONS(encArg(x0), take(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), take(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), take(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), take(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_length(z0), x2))) -> c6(CONS(encArg(x0), take(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_s(z0), x2))) -> c6(CONS(encArg(x0), take(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), take(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_take(z0, z1), x2))) ENCARG(cons_cons(zeros, cons_take(x1, x2))) -> c6(CONS(zeros, take(encArg(x1), encArg(x2))), ENCARG(zeros), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(0, cons_take(x1, x2))) -> c6(CONS(0, take(encArg(x1), encArg(x2))), ENCARG(0), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(tt, cons_take(x1, x2))) -> c6(CONS(tt, take(encArg(x1), encArg(x2))), ENCARG(tt), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(nil, cons_take(x1, x2))) -> c6(CONS(nil, take(encArg(x1), encArg(x2))), ENCARG(nil), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_active(z0), cons_take(x1, x2))) -> c6(CONS(active(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_take(x1, x2))) -> c6(CONS(mark(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_take(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_take(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_take(x1, x2))) -> c6(CONS(length(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_take(x1, x2))) -> c6(CONS(s(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_take(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_take(x1, x2))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1 ---------------------------------------- (167) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (168) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(x0, cons_and(x1, zeros))) -> c6(CONS(encArg(x0), and(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_and(x1, zeros))) ENCARG(cons_cons(x0, cons_and(x1, 0))) -> c6(CONS(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_cons(x0, cons_and(x1, tt))) -> c6(CONS(encArg(x0), and(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_and(x1, tt))) ENCARG(cons_cons(x0, cons_and(x1, nil))) -> c6(CONS(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_cons(x0, cons_and(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_and(zeros, x2))) -> c6(CONS(encArg(x0), and(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_and(zeros, x2))) ENCARG(cons_cons(x0, cons_and(0, x2))) -> c6(CONS(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_cons(x0, cons_and(tt, x2))) -> c6(CONS(encArg(x0), and(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_and(tt, x2))) ENCARG(cons_cons(x0, cons_and(nil, x2))) -> c6(CONS(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_cons(x0, cons_and(cons_active(z0), x2))) -> c6(CONS(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_length(z0), x2))) -> c6(CONS(encArg(x0), and(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_s(z0), x2))) -> c6(CONS(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), and(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_and(x1, x2))) -> c6(CONS(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_and(x1, x2))) -> c6(CONS(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_and(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_and(x1, x2))) -> c6(CONS(length(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_and(x1, x2))) -> c6(CONS(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_and(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(zeros, cons_and(x1, x2))) -> c6(CONS(zeros, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(0, cons_and(x1, x2))) -> c6(CONS(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(tt, cons_and(x1, x2))) -> c6(CONS(tt, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(nil, cons_and(x1, x2))) -> c6(CONS(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(x0, cons_length(cons_active(z0)))) -> c6(CONS(encArg(x0), length(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_cons(x0, cons_length(cons_mark(z0)))) -> c6(CONS(encArg(x0), length(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_length(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), length(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), length(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_length(z0)))) -> c6(CONS(encArg(x0), length(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_cons(x0, cons_length(cons_s(z0)))) -> c6(CONS(encArg(x0), length(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_cons(x0, cons_length(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), length(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_length(x1))) -> c6(CONS(active(encArg(z0)), length(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_mark(z0), cons_length(x1))) -> c6(CONS(mark(encArg(z0)), length(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_length(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_length(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_length(z0), cons_length(x1))) -> c6(CONS(length(encArg(z0)), length(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_s(z0), cons_length(x1))) -> c6(CONS(s(encArg(z0)), length(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_length(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_length(zeros))) -> c6(CONS(encArg(x0), length(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(0))) -> c6(CONS(encArg(x0), length(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(tt))) -> c6(CONS(encArg(x0), length(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(nil))) -> c6(CONS(encArg(x0), length(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_length(x1))) -> c6(CONS(zeros, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(0, cons_length(x1))) -> c6(CONS(0, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(tt, cons_length(x1))) -> c6(CONS(tt, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(nil, cons_length(x1))) -> c6(CONS(nil, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_s(cons_active(z0)))) -> c6(CONS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_cons(x0, cons_s(cons_mark(z0)))) -> c6(CONS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_s(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), s(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), s(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_length(z0)))) -> c6(CONS(encArg(x0), s(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_cons(x0, cons_s(cons_s(z0)))) -> c6(CONS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_cons(x0, cons_s(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), s(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_s(x1))) -> c6(CONS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_mark(z0), cons_s(x1))) -> c6(CONS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_s(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_s(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_length(z0), cons_s(x1))) -> c6(CONS(length(encArg(z0)), s(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_s(z0), cons_s(x1))) -> c6(CONS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_s(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_s(zeros))) -> c6(CONS(encArg(x0), s(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(0))) -> c6(CONS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(tt))) -> c6(CONS(encArg(x0), s(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(nil))) -> c6(CONS(encArg(x0), s(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_s(x1))) -> c6(CONS(zeros, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(0, cons_s(x1))) -> c6(CONS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(tt, cons_s(x1))) -> c6(CONS(tt, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(nil, cons_s(x1))) -> c6(CONS(nil, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_take(x1, zeros))) -> c6(CONS(encArg(x0), take(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_take(x1, zeros))) ENCARG(cons_cons(x0, cons_take(x1, 0))) -> c6(CONS(encArg(x0), take(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_take(x1, 0))) ENCARG(cons_cons(x0, cons_take(x1, tt))) -> c6(CONS(encArg(x0), take(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_take(x1, tt))) ENCARG(cons_cons(x0, cons_take(x1, nil))) -> c6(CONS(encArg(x0), take(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_take(x1, nil))) ENCARG(cons_cons(x0, cons_take(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_take(zeros, x2))) -> c6(CONS(encArg(x0), take(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_take(zeros, x2))) ENCARG(cons_cons(x0, cons_take(0, x2))) -> c6(CONS(encArg(x0), take(0, encArg(x2))), ENCARG(x0), ENCARG(cons_take(0, x2))) ENCARG(cons_cons(x0, cons_take(tt, x2))) -> c6(CONS(encArg(x0), take(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_take(tt, x2))) ENCARG(cons_cons(x0, cons_take(nil, x2))) -> c6(CONS(encArg(x0), take(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_take(nil, x2))) ENCARG(cons_cons(x0, cons_take(cons_active(z0), x2))) -> c6(CONS(encArg(x0), take(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), take(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), take(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), take(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_length(z0), x2))) -> c6(CONS(encArg(x0), take(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_s(z0), x2))) -> c6(CONS(encArg(x0), take(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), take(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_take(x1, x2))) -> c6(CONS(active(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_take(x1, x2))) -> c6(CONS(mark(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_take(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_take(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_take(x1, x2))) -> c6(CONS(length(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_take(x1, x2))) -> c6(CONS(s(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_take(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(zeros, cons_take(x1, x2))) -> c6(CONS(zeros, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(0, cons_take(x1, x2))) -> c6(CONS(0, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(tt, cons_take(x1, x2))) -> c6(CONS(tt, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(nil, cons_take(x1, x2))) -> c6(CONS(nil, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1 ---------------------------------------- (169) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c6(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) by ENCARG(cons_cons(cons_cons(x0, x1), zeros)) -> c6(CONS(cons(encArg(x0), encArg(x1)), zeros), ENCARG(cons_cons(x0, x1)), ENCARG(zeros)) ENCARG(cons_cons(cons_cons(x0, x1), 0)) -> c6(CONS(cons(encArg(x0), encArg(x1)), 0), ENCARG(cons_cons(x0, x1)), ENCARG(0)) ENCARG(cons_cons(cons_cons(x0, x1), tt)) -> c6(CONS(cons(encArg(x0), encArg(x1)), tt), ENCARG(cons_cons(x0, x1)), ENCARG(tt)) ENCARG(cons_cons(cons_cons(x0, x1), nil)) -> c6(CONS(cons(encArg(x0), encArg(x1)), nil), ENCARG(cons_cons(x0, x1)), ENCARG(nil)) ENCARG(cons_cons(cons_cons(x0, x1), cons_active(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_cons(x0, x1), cons_mark(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_cons(x0, x1), cons_cons(z0, z1))) -> c6(CONS(cons(encArg(x0), encArg(x1)), cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(cons_cons(x0, x1), cons_and(z0, z1))) -> c6(CONS(cons(encArg(x0), encArg(x1)), and(encArg(z0), encArg(z1))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(cons_cons(x0, x1), cons_length(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), length(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_length(z0))) ENCARG(cons_cons(cons_cons(x0, x1), cons_s(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), s(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_s(z0))) ENCARG(cons_cons(cons_cons(x0, x1), cons_take(z0, z1))) -> c6(CONS(cons(encArg(x0), encArg(x1)), take(encArg(z0), encArg(z1))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_cons(x0, zeros), x2)) -> c6(CONS(cons(encArg(x0), zeros), encArg(x2)), ENCARG(cons_cons(x0, zeros)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, 0), x2)) -> c6(CONS(cons(encArg(x0), 0), encArg(x2)), ENCARG(cons_cons(x0, 0)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, tt), x2)) -> c6(CONS(cons(encArg(x0), tt), encArg(x2)), ENCARG(cons_cons(x0, tt)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, nil), x2)) -> c6(CONS(cons(encArg(x0), nil), encArg(x2)), ENCARG(cons_cons(x0, nil)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_active(z0)), x2)) -> c6(CONS(cons(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_mark(z0)), x2)) -> c6(CONS(cons(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_cons(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), cons(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_cons(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_and(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), and(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_and(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_length(z0)), x2)) -> c6(CONS(cons(encArg(x0), length(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_length(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_s(z0)), x2)) -> c6(CONS(cons(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_take(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), take(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_take(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(zeros, x1), x2)) -> c6(CONS(cons(zeros, encArg(x1)), encArg(x2)), ENCARG(cons_cons(zeros, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(0, x1), x2)) -> c6(CONS(cons(0, encArg(x1)), encArg(x2)), ENCARG(cons_cons(0, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(tt, x1), x2)) -> c6(CONS(cons(tt, encArg(x1)), encArg(x2)), ENCARG(cons_cons(tt, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(nil, x1), x2)) -> c6(CONS(cons(nil, encArg(x1)), encArg(x2)), ENCARG(cons_cons(nil, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_active(z0), x1), x2)) -> c6(CONS(cons(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_mark(z0), x1), x2)) -> c6(CONS(cons(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_cons(z0, z1), x1), x2)) -> c6(CONS(cons(cons(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_cons(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_and(z0, z1), x1), x2)) -> c6(CONS(cons(and(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_and(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_length(z0), x1), x2)) -> c6(CONS(cons(length(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_length(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_s(z0), x1), x2)) -> c6(CONS(cons(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_take(z0, z1), x1), x2)) -> c6(CONS(cons(take(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_take(z0, z1), x1)), ENCARG(x2)) ---------------------------------------- (170) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(x0, cons_and(x1, zeros))) -> c6(CONS(encArg(x0), and(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_and(x1, zeros))) ENCARG(cons_cons(x0, cons_and(x1, 0))) -> c6(CONS(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_cons(x0, cons_and(x1, tt))) -> c6(CONS(encArg(x0), and(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_and(x1, tt))) ENCARG(cons_cons(x0, cons_and(x1, nil))) -> c6(CONS(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_cons(x0, cons_and(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_and(zeros, x2))) -> c6(CONS(encArg(x0), and(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_and(zeros, x2))) ENCARG(cons_cons(x0, cons_and(0, x2))) -> c6(CONS(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_cons(x0, cons_and(tt, x2))) -> c6(CONS(encArg(x0), and(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_and(tt, x2))) ENCARG(cons_cons(x0, cons_and(nil, x2))) -> c6(CONS(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_cons(x0, cons_and(cons_active(z0), x2))) -> c6(CONS(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_length(z0), x2))) -> c6(CONS(encArg(x0), and(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_s(z0), x2))) -> c6(CONS(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), and(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_and(x1, x2))) -> c6(CONS(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_and(x1, x2))) -> c6(CONS(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_and(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_and(x1, x2))) -> c6(CONS(length(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_and(x1, x2))) -> c6(CONS(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_and(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(zeros, cons_and(x1, x2))) -> c6(CONS(zeros, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(0, cons_and(x1, x2))) -> c6(CONS(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(tt, cons_and(x1, x2))) -> c6(CONS(tt, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(nil, cons_and(x1, x2))) -> c6(CONS(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(x0, cons_length(cons_active(z0)))) -> c6(CONS(encArg(x0), length(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_cons(x0, cons_length(cons_mark(z0)))) -> c6(CONS(encArg(x0), length(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_length(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), length(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), length(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_length(z0)))) -> c6(CONS(encArg(x0), length(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_cons(x0, cons_length(cons_s(z0)))) -> c6(CONS(encArg(x0), length(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_cons(x0, cons_length(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), length(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_length(x1))) -> c6(CONS(active(encArg(z0)), length(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_mark(z0), cons_length(x1))) -> c6(CONS(mark(encArg(z0)), length(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_length(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_length(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_length(z0), cons_length(x1))) -> c6(CONS(length(encArg(z0)), length(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_s(z0), cons_length(x1))) -> c6(CONS(s(encArg(z0)), length(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_length(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_length(zeros))) -> c6(CONS(encArg(x0), length(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(0))) -> c6(CONS(encArg(x0), length(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(tt))) -> c6(CONS(encArg(x0), length(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(nil))) -> c6(CONS(encArg(x0), length(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_length(x1))) -> c6(CONS(zeros, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(0, cons_length(x1))) -> c6(CONS(0, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(tt, cons_length(x1))) -> c6(CONS(tt, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(nil, cons_length(x1))) -> c6(CONS(nil, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_s(cons_active(z0)))) -> c6(CONS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_cons(x0, cons_s(cons_mark(z0)))) -> c6(CONS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_s(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), s(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), s(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_length(z0)))) -> c6(CONS(encArg(x0), s(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_cons(x0, cons_s(cons_s(z0)))) -> c6(CONS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_cons(x0, cons_s(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), s(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_s(x1))) -> c6(CONS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_mark(z0), cons_s(x1))) -> c6(CONS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_s(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_s(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_length(z0), cons_s(x1))) -> c6(CONS(length(encArg(z0)), s(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_s(z0), cons_s(x1))) -> c6(CONS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_s(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_s(zeros))) -> c6(CONS(encArg(x0), s(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(0))) -> c6(CONS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(tt))) -> c6(CONS(encArg(x0), s(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(nil))) -> c6(CONS(encArg(x0), s(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_s(x1))) -> c6(CONS(zeros, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(0, cons_s(x1))) -> c6(CONS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(tt, cons_s(x1))) -> c6(CONS(tt, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(nil, cons_s(x1))) -> c6(CONS(nil, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_take(x1, zeros))) -> c6(CONS(encArg(x0), take(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_take(x1, zeros))) ENCARG(cons_cons(x0, cons_take(x1, 0))) -> c6(CONS(encArg(x0), take(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_take(x1, 0))) ENCARG(cons_cons(x0, cons_take(x1, tt))) -> c6(CONS(encArg(x0), take(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_take(x1, tt))) ENCARG(cons_cons(x0, cons_take(x1, nil))) -> c6(CONS(encArg(x0), take(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_take(x1, nil))) ENCARG(cons_cons(x0, cons_take(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_take(zeros, x2))) -> c6(CONS(encArg(x0), take(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_take(zeros, x2))) ENCARG(cons_cons(x0, cons_take(0, x2))) -> c6(CONS(encArg(x0), take(0, encArg(x2))), ENCARG(x0), ENCARG(cons_take(0, x2))) ENCARG(cons_cons(x0, cons_take(tt, x2))) -> c6(CONS(encArg(x0), take(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_take(tt, x2))) ENCARG(cons_cons(x0, cons_take(nil, x2))) -> c6(CONS(encArg(x0), take(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_take(nil, x2))) ENCARG(cons_cons(x0, cons_take(cons_active(z0), x2))) -> c6(CONS(encArg(x0), take(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), take(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), take(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), take(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_length(z0), x2))) -> c6(CONS(encArg(x0), take(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_s(z0), x2))) -> c6(CONS(encArg(x0), take(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), take(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_take(x1, x2))) -> c6(CONS(active(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_take(x1, x2))) -> c6(CONS(mark(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_take(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_take(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_take(x1, x2))) -> c6(CONS(length(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_take(x1, x2))) -> c6(CONS(s(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_take(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(zeros, cons_take(x1, x2))) -> c6(CONS(zeros, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(0, cons_take(x1, x2))) -> c6(CONS(0, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(tt, cons_take(x1, x2))) -> c6(CONS(tt, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(nil, cons_take(x1, x2))) -> c6(CONS(nil, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(x0, x1), zeros)) -> c6(CONS(cons(encArg(x0), encArg(x1)), zeros), ENCARG(cons_cons(x0, x1)), ENCARG(zeros)) ENCARG(cons_cons(cons_cons(x0, x1), 0)) -> c6(CONS(cons(encArg(x0), encArg(x1)), 0), ENCARG(cons_cons(x0, x1)), ENCARG(0)) ENCARG(cons_cons(cons_cons(x0, x1), tt)) -> c6(CONS(cons(encArg(x0), encArg(x1)), tt), ENCARG(cons_cons(x0, x1)), ENCARG(tt)) ENCARG(cons_cons(cons_cons(x0, x1), nil)) -> c6(CONS(cons(encArg(x0), encArg(x1)), nil), ENCARG(cons_cons(x0, x1)), ENCARG(nil)) ENCARG(cons_cons(cons_cons(x0, x1), cons_active(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_cons(x0, x1), cons_mark(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_cons(x0, zeros), x2)) -> c6(CONS(cons(encArg(x0), zeros), encArg(x2)), ENCARG(cons_cons(x0, zeros)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, 0), x2)) -> c6(CONS(cons(encArg(x0), 0), encArg(x2)), ENCARG(cons_cons(x0, 0)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, tt), x2)) -> c6(CONS(cons(encArg(x0), tt), encArg(x2)), ENCARG(cons_cons(x0, tt)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, nil), x2)) -> c6(CONS(cons(encArg(x0), nil), encArg(x2)), ENCARG(cons_cons(x0, nil)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_active(z0)), x2)) -> c6(CONS(cons(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_mark(z0)), x2)) -> c6(CONS(cons(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_cons(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), cons(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_cons(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_and(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), and(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_and(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_length(z0)), x2)) -> c6(CONS(cons(encArg(x0), length(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_length(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_s(z0)), x2)) -> c6(CONS(cons(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_take(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), take(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_take(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(zeros, x1), x2)) -> c6(CONS(cons(zeros, encArg(x1)), encArg(x2)), ENCARG(cons_cons(zeros, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(0, x1), x2)) -> c6(CONS(cons(0, encArg(x1)), encArg(x2)), ENCARG(cons_cons(0, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(tt, x1), x2)) -> c6(CONS(cons(tt, encArg(x1)), encArg(x2)), ENCARG(cons_cons(tt, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(nil, x1), x2)) -> c6(CONS(cons(nil, encArg(x1)), encArg(x2)), ENCARG(cons_cons(nil, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_active(z0), x1), x2)) -> c6(CONS(cons(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_mark(z0), x1), x2)) -> c6(CONS(cons(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_cons(z0, z1), x1), x2)) -> c6(CONS(cons(cons(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_cons(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_and(z0, z1), x1), x2)) -> c6(CONS(cons(and(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_and(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_length(z0), x1), x2)) -> c6(CONS(cons(length(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_length(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_s(z0), x1), x2)) -> c6(CONS(cons(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_take(z0, z1), x1), x2)) -> c6(CONS(cons(take(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_take(z0, z1), x1)), ENCARG(x2)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1 ---------------------------------------- (171) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (172) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(x0, cons_and(x1, zeros))) -> c6(CONS(encArg(x0), and(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_and(x1, zeros))) ENCARG(cons_cons(x0, cons_and(x1, 0))) -> c6(CONS(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_cons(x0, cons_and(x1, tt))) -> c6(CONS(encArg(x0), and(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_and(x1, tt))) ENCARG(cons_cons(x0, cons_and(x1, nil))) -> c6(CONS(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_cons(x0, cons_and(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_and(zeros, x2))) -> c6(CONS(encArg(x0), and(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_and(zeros, x2))) ENCARG(cons_cons(x0, cons_and(0, x2))) -> c6(CONS(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_cons(x0, cons_and(tt, x2))) -> c6(CONS(encArg(x0), and(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_and(tt, x2))) ENCARG(cons_cons(x0, cons_and(nil, x2))) -> c6(CONS(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_cons(x0, cons_and(cons_active(z0), x2))) -> c6(CONS(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_length(z0), x2))) -> c6(CONS(encArg(x0), and(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_s(z0), x2))) -> c6(CONS(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), and(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_and(x1, x2))) -> c6(CONS(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_and(x1, x2))) -> c6(CONS(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_and(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_and(x1, x2))) -> c6(CONS(length(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_and(x1, x2))) -> c6(CONS(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_and(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(zeros, cons_and(x1, x2))) -> c6(CONS(zeros, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(0, cons_and(x1, x2))) -> c6(CONS(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(tt, cons_and(x1, x2))) -> c6(CONS(tt, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(nil, cons_and(x1, x2))) -> c6(CONS(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(x0, cons_length(cons_active(z0)))) -> c6(CONS(encArg(x0), length(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_cons(x0, cons_length(cons_mark(z0)))) -> c6(CONS(encArg(x0), length(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_length(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), length(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), length(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_length(z0)))) -> c6(CONS(encArg(x0), length(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_cons(x0, cons_length(cons_s(z0)))) -> c6(CONS(encArg(x0), length(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_cons(x0, cons_length(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), length(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_length(x1))) -> c6(CONS(active(encArg(z0)), length(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_mark(z0), cons_length(x1))) -> c6(CONS(mark(encArg(z0)), length(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_length(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_length(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_length(z0), cons_length(x1))) -> c6(CONS(length(encArg(z0)), length(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_s(z0), cons_length(x1))) -> c6(CONS(s(encArg(z0)), length(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_length(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_length(zeros))) -> c6(CONS(encArg(x0), length(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(0))) -> c6(CONS(encArg(x0), length(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(tt))) -> c6(CONS(encArg(x0), length(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(nil))) -> c6(CONS(encArg(x0), length(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_length(x1))) -> c6(CONS(zeros, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(0, cons_length(x1))) -> c6(CONS(0, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(tt, cons_length(x1))) -> c6(CONS(tt, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(nil, cons_length(x1))) -> c6(CONS(nil, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_s(cons_active(z0)))) -> c6(CONS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_cons(x0, cons_s(cons_mark(z0)))) -> c6(CONS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_s(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), s(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), s(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_length(z0)))) -> c6(CONS(encArg(x0), s(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_cons(x0, cons_s(cons_s(z0)))) -> c6(CONS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_cons(x0, cons_s(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), s(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_s(x1))) -> c6(CONS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_mark(z0), cons_s(x1))) -> c6(CONS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_s(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_s(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_length(z0), cons_s(x1))) -> c6(CONS(length(encArg(z0)), s(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_s(z0), cons_s(x1))) -> c6(CONS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_s(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_s(zeros))) -> c6(CONS(encArg(x0), s(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(0))) -> c6(CONS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(tt))) -> c6(CONS(encArg(x0), s(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(nil))) -> c6(CONS(encArg(x0), s(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_s(x1))) -> c6(CONS(zeros, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(0, cons_s(x1))) -> c6(CONS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(tt, cons_s(x1))) -> c6(CONS(tt, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(nil, cons_s(x1))) -> c6(CONS(nil, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_take(x1, zeros))) -> c6(CONS(encArg(x0), take(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_take(x1, zeros))) ENCARG(cons_cons(x0, cons_take(x1, 0))) -> c6(CONS(encArg(x0), take(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_take(x1, 0))) ENCARG(cons_cons(x0, cons_take(x1, tt))) -> c6(CONS(encArg(x0), take(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_take(x1, tt))) ENCARG(cons_cons(x0, cons_take(x1, nil))) -> c6(CONS(encArg(x0), take(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_take(x1, nil))) ENCARG(cons_cons(x0, cons_take(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_take(zeros, x2))) -> c6(CONS(encArg(x0), take(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_take(zeros, x2))) ENCARG(cons_cons(x0, cons_take(0, x2))) -> c6(CONS(encArg(x0), take(0, encArg(x2))), ENCARG(x0), ENCARG(cons_take(0, x2))) ENCARG(cons_cons(x0, cons_take(tt, x2))) -> c6(CONS(encArg(x0), take(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_take(tt, x2))) ENCARG(cons_cons(x0, cons_take(nil, x2))) -> c6(CONS(encArg(x0), take(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_take(nil, x2))) ENCARG(cons_cons(x0, cons_take(cons_active(z0), x2))) -> c6(CONS(encArg(x0), take(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), take(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), take(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), take(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_length(z0), x2))) -> c6(CONS(encArg(x0), take(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_s(z0), x2))) -> c6(CONS(encArg(x0), take(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), take(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_take(x1, x2))) -> c6(CONS(active(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_take(x1, x2))) -> c6(CONS(mark(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_take(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_take(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_take(x1, x2))) -> c6(CONS(length(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_take(x1, x2))) -> c6(CONS(s(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_take(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(zeros, cons_take(x1, x2))) -> c6(CONS(zeros, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(0, cons_take(x1, x2))) -> c6(CONS(0, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(tt, cons_take(x1, x2))) -> c6(CONS(tt, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(nil, cons_take(x1, x2))) -> c6(CONS(nil, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(x0, x1), cons_active(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_cons(x0, x1), cons_mark(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_cons(x0, zeros), x2)) -> c6(CONS(cons(encArg(x0), zeros), encArg(x2)), ENCARG(cons_cons(x0, zeros)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, 0), x2)) -> c6(CONS(cons(encArg(x0), 0), encArg(x2)), ENCARG(cons_cons(x0, 0)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, tt), x2)) -> c6(CONS(cons(encArg(x0), tt), encArg(x2)), ENCARG(cons_cons(x0, tt)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, nil), x2)) -> c6(CONS(cons(encArg(x0), nil), encArg(x2)), ENCARG(cons_cons(x0, nil)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_active(z0)), x2)) -> c6(CONS(cons(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_mark(z0)), x2)) -> c6(CONS(cons(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_cons(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), cons(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_cons(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_and(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), and(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_and(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_length(z0)), x2)) -> c6(CONS(cons(encArg(x0), length(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_length(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_s(z0)), x2)) -> c6(CONS(cons(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_take(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), take(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_take(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(zeros, x1), x2)) -> c6(CONS(cons(zeros, encArg(x1)), encArg(x2)), ENCARG(cons_cons(zeros, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(0, x1), x2)) -> c6(CONS(cons(0, encArg(x1)), encArg(x2)), ENCARG(cons_cons(0, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(tt, x1), x2)) -> c6(CONS(cons(tt, encArg(x1)), encArg(x2)), ENCARG(cons_cons(tt, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(nil, x1), x2)) -> c6(CONS(cons(nil, encArg(x1)), encArg(x2)), ENCARG(cons_cons(nil, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_active(z0), x1), x2)) -> c6(CONS(cons(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_mark(z0), x1), x2)) -> c6(CONS(cons(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_cons(z0, z1), x1), x2)) -> c6(CONS(cons(cons(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_cons(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_and(z0, z1), x1), x2)) -> c6(CONS(cons(and(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_and(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_length(z0), x1), x2)) -> c6(CONS(cons(length(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_length(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_s(z0), x1), x2)) -> c6(CONS(cons(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_take(z0, z1), x1), x2)) -> c6(CONS(cons(take(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_take(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, x1), zeros)) -> c6(CONS(cons(encArg(x0), encArg(x1)), zeros), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), 0)) -> c6(CONS(cons(encArg(x0), encArg(x1)), 0), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), tt)) -> c6(CONS(cons(encArg(x0), encArg(x1)), tt), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), nil)) -> c6(CONS(cons(encArg(x0), encArg(x1)), nil), ENCARG(cons_cons(x0, x1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1 ---------------------------------------- (173) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c6(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) by ENCARG(cons_cons(cons_and(x0, x1), zeros)) -> c6(CONS(and(encArg(x0), encArg(x1)), zeros), ENCARG(cons_and(x0, x1)), ENCARG(zeros)) ENCARG(cons_cons(cons_and(x0, x1), 0)) -> c6(CONS(and(encArg(x0), encArg(x1)), 0), ENCARG(cons_and(x0, x1)), ENCARG(0)) ENCARG(cons_cons(cons_and(x0, x1), tt)) -> c6(CONS(and(encArg(x0), encArg(x1)), tt), ENCARG(cons_and(x0, x1)), ENCARG(tt)) ENCARG(cons_cons(cons_and(x0, x1), nil)) -> c6(CONS(and(encArg(x0), encArg(x1)), nil), ENCARG(cons_and(x0, x1)), ENCARG(nil)) ENCARG(cons_cons(cons_and(x0, x1), cons_active(z0))) -> c6(CONS(and(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_and(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_and(x0, x1), cons_mark(z0))) -> c6(CONS(and(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_and(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_and(x0, x1), cons_cons(z0, z1))) -> c6(CONS(and(encArg(x0), encArg(x1)), cons(encArg(z0), encArg(z1))), ENCARG(cons_and(x0, x1)), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(cons_and(x0, x1), cons_and(z0, z1))) -> c6(CONS(and(encArg(x0), encArg(x1)), and(encArg(z0), encArg(z1))), ENCARG(cons_and(x0, x1)), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(cons_and(x0, x1), cons_length(z0))) -> c6(CONS(and(encArg(x0), encArg(x1)), length(encArg(z0))), ENCARG(cons_and(x0, x1)), ENCARG(cons_length(z0))) ENCARG(cons_cons(cons_and(x0, x1), cons_s(z0))) -> c6(CONS(and(encArg(x0), encArg(x1)), s(encArg(z0))), ENCARG(cons_and(x0, x1)), ENCARG(cons_s(z0))) ENCARG(cons_cons(cons_and(x0, x1), cons_take(z0, z1))) -> c6(CONS(and(encArg(x0), encArg(x1)), take(encArg(z0), encArg(z1))), ENCARG(cons_and(x0, x1)), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_and(x0, zeros), x2)) -> c6(CONS(and(encArg(x0), zeros), encArg(x2)), ENCARG(cons_and(x0, zeros)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, 0), x2)) -> c6(CONS(and(encArg(x0), 0), encArg(x2)), ENCARG(cons_and(x0, 0)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, tt), x2)) -> c6(CONS(and(encArg(x0), tt), encArg(x2)), ENCARG(cons_and(x0, tt)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, nil), x2)) -> c6(CONS(and(encArg(x0), nil), encArg(x2)), ENCARG(cons_and(x0, nil)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_active(z0)), x2)) -> c6(CONS(and(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_mark(z0)), x2)) -> c6(CONS(and(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_cons(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), cons(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_cons(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_and(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), and(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_and(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_length(z0)), x2)) -> c6(CONS(and(encArg(x0), length(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_length(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_s(z0)), x2)) -> c6(CONS(and(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_take(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), take(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_take(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(zeros, x1), x2)) -> c6(CONS(and(zeros, encArg(x1)), encArg(x2)), ENCARG(cons_and(zeros, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(0, x1), x2)) -> c6(CONS(and(0, encArg(x1)), encArg(x2)), ENCARG(cons_and(0, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(tt, x1), x2)) -> c6(CONS(and(tt, encArg(x1)), encArg(x2)), ENCARG(cons_and(tt, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(nil, x1), x2)) -> c6(CONS(and(nil, encArg(x1)), encArg(x2)), ENCARG(cons_and(nil, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_active(z0), x1), x2)) -> c6(CONS(and(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_mark(z0), x1), x2)) -> c6(CONS(and(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_cons(z0, z1), x1), x2)) -> c6(CONS(and(cons(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_cons(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_and(z0, z1), x1), x2)) -> c6(CONS(and(and(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_and(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_length(z0), x1), x2)) -> c6(CONS(and(length(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_length(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_s(z0), x1), x2)) -> c6(CONS(and(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_take(z0, z1), x1), x2)) -> c6(CONS(and(take(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_take(z0, z1), x1)), ENCARG(x2)) ---------------------------------------- (174) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(x0, cons_and(x1, zeros))) -> c6(CONS(encArg(x0), and(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_and(x1, zeros))) ENCARG(cons_cons(x0, cons_and(x1, 0))) -> c6(CONS(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_cons(x0, cons_and(x1, tt))) -> c6(CONS(encArg(x0), and(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_and(x1, tt))) ENCARG(cons_cons(x0, cons_and(x1, nil))) -> c6(CONS(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_cons(x0, cons_and(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_and(zeros, x2))) -> c6(CONS(encArg(x0), and(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_and(zeros, x2))) ENCARG(cons_cons(x0, cons_and(0, x2))) -> c6(CONS(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_cons(x0, cons_and(tt, x2))) -> c6(CONS(encArg(x0), and(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_and(tt, x2))) ENCARG(cons_cons(x0, cons_and(nil, x2))) -> c6(CONS(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_cons(x0, cons_and(cons_active(z0), x2))) -> c6(CONS(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_length(z0), x2))) -> c6(CONS(encArg(x0), and(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_s(z0), x2))) -> c6(CONS(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), and(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_and(x1, x2))) -> c6(CONS(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_and(x1, x2))) -> c6(CONS(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_and(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_and(x1, x2))) -> c6(CONS(length(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_and(x1, x2))) -> c6(CONS(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_and(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(zeros, cons_and(x1, x2))) -> c6(CONS(zeros, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(0, cons_and(x1, x2))) -> c6(CONS(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(tt, cons_and(x1, x2))) -> c6(CONS(tt, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(nil, cons_and(x1, x2))) -> c6(CONS(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(x0, cons_length(cons_active(z0)))) -> c6(CONS(encArg(x0), length(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_cons(x0, cons_length(cons_mark(z0)))) -> c6(CONS(encArg(x0), length(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_length(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), length(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), length(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_length(z0)))) -> c6(CONS(encArg(x0), length(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_cons(x0, cons_length(cons_s(z0)))) -> c6(CONS(encArg(x0), length(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_cons(x0, cons_length(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), length(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_length(x1))) -> c6(CONS(active(encArg(z0)), length(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_mark(z0), cons_length(x1))) -> c6(CONS(mark(encArg(z0)), length(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_length(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_length(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_length(z0), cons_length(x1))) -> c6(CONS(length(encArg(z0)), length(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_s(z0), cons_length(x1))) -> c6(CONS(s(encArg(z0)), length(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_length(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_length(zeros))) -> c6(CONS(encArg(x0), length(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(0))) -> c6(CONS(encArg(x0), length(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(tt))) -> c6(CONS(encArg(x0), length(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(nil))) -> c6(CONS(encArg(x0), length(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_length(x1))) -> c6(CONS(zeros, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(0, cons_length(x1))) -> c6(CONS(0, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(tt, cons_length(x1))) -> c6(CONS(tt, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(nil, cons_length(x1))) -> c6(CONS(nil, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_s(cons_active(z0)))) -> c6(CONS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_cons(x0, cons_s(cons_mark(z0)))) -> c6(CONS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_s(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), s(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), s(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_length(z0)))) -> c6(CONS(encArg(x0), s(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_cons(x0, cons_s(cons_s(z0)))) -> c6(CONS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_cons(x0, cons_s(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), s(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_s(x1))) -> c6(CONS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_mark(z0), cons_s(x1))) -> c6(CONS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_s(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_s(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_length(z0), cons_s(x1))) -> c6(CONS(length(encArg(z0)), s(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_s(z0), cons_s(x1))) -> c6(CONS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_s(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_s(zeros))) -> c6(CONS(encArg(x0), s(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(0))) -> c6(CONS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(tt))) -> c6(CONS(encArg(x0), s(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(nil))) -> c6(CONS(encArg(x0), s(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_s(x1))) -> c6(CONS(zeros, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(0, cons_s(x1))) -> c6(CONS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(tt, cons_s(x1))) -> c6(CONS(tt, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(nil, cons_s(x1))) -> c6(CONS(nil, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_take(x1, zeros))) -> c6(CONS(encArg(x0), take(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_take(x1, zeros))) ENCARG(cons_cons(x0, cons_take(x1, 0))) -> c6(CONS(encArg(x0), take(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_take(x1, 0))) ENCARG(cons_cons(x0, cons_take(x1, tt))) -> c6(CONS(encArg(x0), take(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_take(x1, tt))) ENCARG(cons_cons(x0, cons_take(x1, nil))) -> c6(CONS(encArg(x0), take(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_take(x1, nil))) ENCARG(cons_cons(x0, cons_take(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_take(zeros, x2))) -> c6(CONS(encArg(x0), take(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_take(zeros, x2))) ENCARG(cons_cons(x0, cons_take(0, x2))) -> c6(CONS(encArg(x0), take(0, encArg(x2))), ENCARG(x0), ENCARG(cons_take(0, x2))) ENCARG(cons_cons(x0, cons_take(tt, x2))) -> c6(CONS(encArg(x0), take(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_take(tt, x2))) ENCARG(cons_cons(x0, cons_take(nil, x2))) -> c6(CONS(encArg(x0), take(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_take(nil, x2))) ENCARG(cons_cons(x0, cons_take(cons_active(z0), x2))) -> c6(CONS(encArg(x0), take(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), take(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), take(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), take(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_length(z0), x2))) -> c6(CONS(encArg(x0), take(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_s(z0), x2))) -> c6(CONS(encArg(x0), take(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), take(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_take(x1, x2))) -> c6(CONS(active(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_take(x1, x2))) -> c6(CONS(mark(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_take(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_take(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_take(x1, x2))) -> c6(CONS(length(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_take(x1, x2))) -> c6(CONS(s(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_take(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(zeros, cons_take(x1, x2))) -> c6(CONS(zeros, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(0, cons_take(x1, x2))) -> c6(CONS(0, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(tt, cons_take(x1, x2))) -> c6(CONS(tt, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(nil, cons_take(x1, x2))) -> c6(CONS(nil, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(x0, x1), cons_active(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_cons(x0, x1), cons_mark(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_cons(x0, zeros), x2)) -> c6(CONS(cons(encArg(x0), zeros), encArg(x2)), ENCARG(cons_cons(x0, zeros)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, 0), x2)) -> c6(CONS(cons(encArg(x0), 0), encArg(x2)), ENCARG(cons_cons(x0, 0)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, tt), x2)) -> c6(CONS(cons(encArg(x0), tt), encArg(x2)), ENCARG(cons_cons(x0, tt)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, nil), x2)) -> c6(CONS(cons(encArg(x0), nil), encArg(x2)), ENCARG(cons_cons(x0, nil)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_active(z0)), x2)) -> c6(CONS(cons(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_mark(z0)), x2)) -> c6(CONS(cons(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_cons(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), cons(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_cons(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_and(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), and(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_and(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_length(z0)), x2)) -> c6(CONS(cons(encArg(x0), length(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_length(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_s(z0)), x2)) -> c6(CONS(cons(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_take(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), take(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_take(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(zeros, x1), x2)) -> c6(CONS(cons(zeros, encArg(x1)), encArg(x2)), ENCARG(cons_cons(zeros, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(0, x1), x2)) -> c6(CONS(cons(0, encArg(x1)), encArg(x2)), ENCARG(cons_cons(0, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(tt, x1), x2)) -> c6(CONS(cons(tt, encArg(x1)), encArg(x2)), ENCARG(cons_cons(tt, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(nil, x1), x2)) -> c6(CONS(cons(nil, encArg(x1)), encArg(x2)), ENCARG(cons_cons(nil, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_active(z0), x1), x2)) -> c6(CONS(cons(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_mark(z0), x1), x2)) -> c6(CONS(cons(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_cons(z0, z1), x1), x2)) -> c6(CONS(cons(cons(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_cons(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_and(z0, z1), x1), x2)) -> c6(CONS(cons(and(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_and(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_length(z0), x1), x2)) -> c6(CONS(cons(length(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_length(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_s(z0), x1), x2)) -> c6(CONS(cons(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_take(z0, z1), x1), x2)) -> c6(CONS(cons(take(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_take(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, x1), zeros)) -> c6(CONS(cons(encArg(x0), encArg(x1)), zeros), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), 0)) -> c6(CONS(cons(encArg(x0), encArg(x1)), 0), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), tt)) -> c6(CONS(cons(encArg(x0), encArg(x1)), tt), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), nil)) -> c6(CONS(cons(encArg(x0), encArg(x1)), nil), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), zeros)) -> c6(CONS(and(encArg(x0), encArg(x1)), zeros), ENCARG(cons_and(x0, x1)), ENCARG(zeros)) ENCARG(cons_cons(cons_and(x0, x1), 0)) -> c6(CONS(and(encArg(x0), encArg(x1)), 0), ENCARG(cons_and(x0, x1)), ENCARG(0)) ENCARG(cons_cons(cons_and(x0, x1), tt)) -> c6(CONS(and(encArg(x0), encArg(x1)), tt), ENCARG(cons_and(x0, x1)), ENCARG(tt)) ENCARG(cons_cons(cons_and(x0, x1), nil)) -> c6(CONS(and(encArg(x0), encArg(x1)), nil), ENCARG(cons_and(x0, x1)), ENCARG(nil)) ENCARG(cons_cons(cons_and(x0, x1), cons_active(z0))) -> c6(CONS(and(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_and(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_and(x0, x1), cons_mark(z0))) -> c6(CONS(and(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_and(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_and(x0, zeros), x2)) -> c6(CONS(and(encArg(x0), zeros), encArg(x2)), ENCARG(cons_and(x0, zeros)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, 0), x2)) -> c6(CONS(and(encArg(x0), 0), encArg(x2)), ENCARG(cons_and(x0, 0)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, tt), x2)) -> c6(CONS(and(encArg(x0), tt), encArg(x2)), ENCARG(cons_and(x0, tt)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, nil), x2)) -> c6(CONS(and(encArg(x0), nil), encArg(x2)), ENCARG(cons_and(x0, nil)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_active(z0)), x2)) -> c6(CONS(and(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_mark(z0)), x2)) -> c6(CONS(and(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_cons(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), cons(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_cons(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_and(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), and(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_and(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_length(z0)), x2)) -> c6(CONS(and(encArg(x0), length(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_length(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_s(z0)), x2)) -> c6(CONS(and(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_take(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), take(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_take(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(zeros, x1), x2)) -> c6(CONS(and(zeros, encArg(x1)), encArg(x2)), ENCARG(cons_and(zeros, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(0, x1), x2)) -> c6(CONS(and(0, encArg(x1)), encArg(x2)), ENCARG(cons_and(0, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(tt, x1), x2)) -> c6(CONS(and(tt, encArg(x1)), encArg(x2)), ENCARG(cons_and(tt, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(nil, x1), x2)) -> c6(CONS(and(nil, encArg(x1)), encArg(x2)), ENCARG(cons_and(nil, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_active(z0), x1), x2)) -> c6(CONS(and(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_mark(z0), x1), x2)) -> c6(CONS(and(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_cons(z0, z1), x1), x2)) -> c6(CONS(and(cons(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_cons(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_and(z0, z1), x1), x2)) -> c6(CONS(and(and(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_and(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_length(z0), x1), x2)) -> c6(CONS(and(length(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_length(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_s(z0), x1), x2)) -> c6(CONS(and(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_take(z0, z1), x1), x2)) -> c6(CONS(and(take(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_take(z0, z1), x1)), ENCARG(x2)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1 ---------------------------------------- (175) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (176) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(x0, cons_and(x1, zeros))) -> c6(CONS(encArg(x0), and(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_and(x1, zeros))) ENCARG(cons_cons(x0, cons_and(x1, 0))) -> c6(CONS(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_cons(x0, cons_and(x1, tt))) -> c6(CONS(encArg(x0), and(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_and(x1, tt))) ENCARG(cons_cons(x0, cons_and(x1, nil))) -> c6(CONS(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_cons(x0, cons_and(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_and(zeros, x2))) -> c6(CONS(encArg(x0), and(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_and(zeros, x2))) ENCARG(cons_cons(x0, cons_and(0, x2))) -> c6(CONS(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_cons(x0, cons_and(tt, x2))) -> c6(CONS(encArg(x0), and(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_and(tt, x2))) ENCARG(cons_cons(x0, cons_and(nil, x2))) -> c6(CONS(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_cons(x0, cons_and(cons_active(z0), x2))) -> c6(CONS(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_length(z0), x2))) -> c6(CONS(encArg(x0), and(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_s(z0), x2))) -> c6(CONS(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), and(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_and(x1, x2))) -> c6(CONS(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_and(x1, x2))) -> c6(CONS(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_and(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_and(x1, x2))) -> c6(CONS(length(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_and(x1, x2))) -> c6(CONS(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_and(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(zeros, cons_and(x1, x2))) -> c6(CONS(zeros, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(0, cons_and(x1, x2))) -> c6(CONS(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(tt, cons_and(x1, x2))) -> c6(CONS(tt, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(nil, cons_and(x1, x2))) -> c6(CONS(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(x0, cons_length(cons_active(z0)))) -> c6(CONS(encArg(x0), length(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_cons(x0, cons_length(cons_mark(z0)))) -> c6(CONS(encArg(x0), length(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_length(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), length(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), length(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_length(z0)))) -> c6(CONS(encArg(x0), length(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_cons(x0, cons_length(cons_s(z0)))) -> c6(CONS(encArg(x0), length(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_cons(x0, cons_length(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), length(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_length(x1))) -> c6(CONS(active(encArg(z0)), length(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_mark(z0), cons_length(x1))) -> c6(CONS(mark(encArg(z0)), length(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_length(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_length(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_length(z0), cons_length(x1))) -> c6(CONS(length(encArg(z0)), length(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_s(z0), cons_length(x1))) -> c6(CONS(s(encArg(z0)), length(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_length(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_length(zeros))) -> c6(CONS(encArg(x0), length(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(0))) -> c6(CONS(encArg(x0), length(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(tt))) -> c6(CONS(encArg(x0), length(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(nil))) -> c6(CONS(encArg(x0), length(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_length(x1))) -> c6(CONS(zeros, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(0, cons_length(x1))) -> c6(CONS(0, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(tt, cons_length(x1))) -> c6(CONS(tt, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(nil, cons_length(x1))) -> c6(CONS(nil, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_s(cons_active(z0)))) -> c6(CONS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_cons(x0, cons_s(cons_mark(z0)))) -> c6(CONS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_s(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), s(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), s(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_length(z0)))) -> c6(CONS(encArg(x0), s(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_cons(x0, cons_s(cons_s(z0)))) -> c6(CONS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_cons(x0, cons_s(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), s(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_s(x1))) -> c6(CONS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_mark(z0), cons_s(x1))) -> c6(CONS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_s(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_s(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_length(z0), cons_s(x1))) -> c6(CONS(length(encArg(z0)), s(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_s(z0), cons_s(x1))) -> c6(CONS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_s(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_s(zeros))) -> c6(CONS(encArg(x0), s(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(0))) -> c6(CONS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(tt))) -> c6(CONS(encArg(x0), s(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(nil))) -> c6(CONS(encArg(x0), s(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_s(x1))) -> c6(CONS(zeros, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(0, cons_s(x1))) -> c6(CONS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(tt, cons_s(x1))) -> c6(CONS(tt, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(nil, cons_s(x1))) -> c6(CONS(nil, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_take(x1, zeros))) -> c6(CONS(encArg(x0), take(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_take(x1, zeros))) ENCARG(cons_cons(x0, cons_take(x1, 0))) -> c6(CONS(encArg(x0), take(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_take(x1, 0))) ENCARG(cons_cons(x0, cons_take(x1, tt))) -> c6(CONS(encArg(x0), take(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_take(x1, tt))) ENCARG(cons_cons(x0, cons_take(x1, nil))) -> c6(CONS(encArg(x0), take(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_take(x1, nil))) ENCARG(cons_cons(x0, cons_take(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_take(zeros, x2))) -> c6(CONS(encArg(x0), take(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_take(zeros, x2))) ENCARG(cons_cons(x0, cons_take(0, x2))) -> c6(CONS(encArg(x0), take(0, encArg(x2))), ENCARG(x0), ENCARG(cons_take(0, x2))) ENCARG(cons_cons(x0, cons_take(tt, x2))) -> c6(CONS(encArg(x0), take(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_take(tt, x2))) ENCARG(cons_cons(x0, cons_take(nil, x2))) -> c6(CONS(encArg(x0), take(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_take(nil, x2))) ENCARG(cons_cons(x0, cons_take(cons_active(z0), x2))) -> c6(CONS(encArg(x0), take(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), take(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), take(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), take(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_length(z0), x2))) -> c6(CONS(encArg(x0), take(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_s(z0), x2))) -> c6(CONS(encArg(x0), take(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), take(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_take(x1, x2))) -> c6(CONS(active(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_take(x1, x2))) -> c6(CONS(mark(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_take(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_take(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_take(x1, x2))) -> c6(CONS(length(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_take(x1, x2))) -> c6(CONS(s(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_take(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(zeros, cons_take(x1, x2))) -> c6(CONS(zeros, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(0, cons_take(x1, x2))) -> c6(CONS(0, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(tt, cons_take(x1, x2))) -> c6(CONS(tt, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(nil, cons_take(x1, x2))) -> c6(CONS(nil, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(x0, x1), cons_active(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_cons(x0, x1), cons_mark(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_cons(x0, zeros), x2)) -> c6(CONS(cons(encArg(x0), zeros), encArg(x2)), ENCARG(cons_cons(x0, zeros)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, 0), x2)) -> c6(CONS(cons(encArg(x0), 0), encArg(x2)), ENCARG(cons_cons(x0, 0)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, tt), x2)) -> c6(CONS(cons(encArg(x0), tt), encArg(x2)), ENCARG(cons_cons(x0, tt)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, nil), x2)) -> c6(CONS(cons(encArg(x0), nil), encArg(x2)), ENCARG(cons_cons(x0, nil)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_active(z0)), x2)) -> c6(CONS(cons(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_mark(z0)), x2)) -> c6(CONS(cons(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_cons(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), cons(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_cons(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_and(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), and(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_and(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_length(z0)), x2)) -> c6(CONS(cons(encArg(x0), length(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_length(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_s(z0)), x2)) -> c6(CONS(cons(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_take(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), take(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_take(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(zeros, x1), x2)) -> c6(CONS(cons(zeros, encArg(x1)), encArg(x2)), ENCARG(cons_cons(zeros, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(0, x1), x2)) -> c6(CONS(cons(0, encArg(x1)), encArg(x2)), ENCARG(cons_cons(0, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(tt, x1), x2)) -> c6(CONS(cons(tt, encArg(x1)), encArg(x2)), ENCARG(cons_cons(tt, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(nil, x1), x2)) -> c6(CONS(cons(nil, encArg(x1)), encArg(x2)), ENCARG(cons_cons(nil, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_active(z0), x1), x2)) -> c6(CONS(cons(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_mark(z0), x1), x2)) -> c6(CONS(cons(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_cons(z0, z1), x1), x2)) -> c6(CONS(cons(cons(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_cons(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_and(z0, z1), x1), x2)) -> c6(CONS(cons(and(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_and(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_length(z0), x1), x2)) -> c6(CONS(cons(length(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_length(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_s(z0), x1), x2)) -> c6(CONS(cons(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_take(z0, z1), x1), x2)) -> c6(CONS(cons(take(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_take(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, x1), zeros)) -> c6(CONS(cons(encArg(x0), encArg(x1)), zeros), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), 0)) -> c6(CONS(cons(encArg(x0), encArg(x1)), 0), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), tt)) -> c6(CONS(cons(encArg(x0), encArg(x1)), tt), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), nil)) -> c6(CONS(cons(encArg(x0), encArg(x1)), nil), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), cons_active(z0))) -> c6(CONS(and(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_and(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_and(x0, x1), cons_mark(z0))) -> c6(CONS(and(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_and(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_and(x0, zeros), x2)) -> c6(CONS(and(encArg(x0), zeros), encArg(x2)), ENCARG(cons_and(x0, zeros)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, 0), x2)) -> c6(CONS(and(encArg(x0), 0), encArg(x2)), ENCARG(cons_and(x0, 0)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, tt), x2)) -> c6(CONS(and(encArg(x0), tt), encArg(x2)), ENCARG(cons_and(x0, tt)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, nil), x2)) -> c6(CONS(and(encArg(x0), nil), encArg(x2)), ENCARG(cons_and(x0, nil)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_active(z0)), x2)) -> c6(CONS(and(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_mark(z0)), x2)) -> c6(CONS(and(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_cons(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), cons(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_cons(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_and(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), and(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_and(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_length(z0)), x2)) -> c6(CONS(and(encArg(x0), length(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_length(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_s(z0)), x2)) -> c6(CONS(and(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_take(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), take(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_take(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(zeros, x1), x2)) -> c6(CONS(and(zeros, encArg(x1)), encArg(x2)), ENCARG(cons_and(zeros, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(0, x1), x2)) -> c6(CONS(and(0, encArg(x1)), encArg(x2)), ENCARG(cons_and(0, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(tt, x1), x2)) -> c6(CONS(and(tt, encArg(x1)), encArg(x2)), ENCARG(cons_and(tt, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(nil, x1), x2)) -> c6(CONS(and(nil, encArg(x1)), encArg(x2)), ENCARG(cons_and(nil, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_active(z0), x1), x2)) -> c6(CONS(and(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_mark(z0), x1), x2)) -> c6(CONS(and(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_cons(z0, z1), x1), x2)) -> c6(CONS(and(cons(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_cons(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_and(z0, z1), x1), x2)) -> c6(CONS(and(and(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_and(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_length(z0), x1), x2)) -> c6(CONS(and(length(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_length(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_s(z0), x1), x2)) -> c6(CONS(and(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_take(z0, z1), x1), x2)) -> c6(CONS(and(take(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_take(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, x1), zeros)) -> c6(CONS(and(encArg(x0), encArg(x1)), zeros), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), 0)) -> c6(CONS(and(encArg(x0), encArg(x1)), 0), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), tt)) -> c6(CONS(and(encArg(x0), encArg(x1)), tt), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), nil)) -> c6(CONS(and(encArg(x0), encArg(x1)), nil), ENCARG(cons_and(x0, x1))) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1 ---------------------------------------- (177) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_cons(cons_length(z0), x1)) -> c6(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) by ENCARG(cons_cons(cons_length(x0), zeros)) -> c6(CONS(length(encArg(x0)), zeros), ENCARG(cons_length(x0)), ENCARG(zeros)) ENCARG(cons_cons(cons_length(x0), 0)) -> c6(CONS(length(encArg(x0)), 0), ENCARG(cons_length(x0)), ENCARG(0)) ENCARG(cons_cons(cons_length(x0), tt)) -> c6(CONS(length(encArg(x0)), tt), ENCARG(cons_length(x0)), ENCARG(tt)) ENCARG(cons_cons(cons_length(x0), nil)) -> c6(CONS(length(encArg(x0)), nil), ENCARG(cons_length(x0)), ENCARG(nil)) ENCARG(cons_cons(cons_length(x0), cons_active(z0))) -> c6(CONS(length(encArg(x0)), active(encArg(z0))), ENCARG(cons_length(x0)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_length(x0), cons_mark(z0))) -> c6(CONS(length(encArg(x0)), mark(encArg(z0))), ENCARG(cons_length(x0)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_length(x0), cons_cons(z0, z1))) -> c6(CONS(length(encArg(x0)), cons(encArg(z0), encArg(z1))), ENCARG(cons_length(x0)), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(cons_length(x0), cons_and(z0, z1))) -> c6(CONS(length(encArg(x0)), and(encArg(z0), encArg(z1))), ENCARG(cons_length(x0)), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(cons_length(x0), cons_length(z0))) -> c6(CONS(length(encArg(x0)), length(encArg(z0))), ENCARG(cons_length(x0)), ENCARG(cons_length(z0))) ENCARG(cons_cons(cons_length(x0), cons_s(z0))) -> c6(CONS(length(encArg(x0)), s(encArg(z0))), ENCARG(cons_length(x0)), ENCARG(cons_s(z0))) ENCARG(cons_cons(cons_length(x0), cons_take(z0, z1))) -> c6(CONS(length(encArg(x0)), take(encArg(z0), encArg(z1))), ENCARG(cons_length(x0)), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_length(zeros), x1)) -> c6(CONS(length(zeros), encArg(x1)), ENCARG(cons_length(zeros)), ENCARG(x1)) ENCARG(cons_cons(cons_length(0), x1)) -> c6(CONS(length(0), encArg(x1)), ENCARG(cons_length(0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(tt), x1)) -> c6(CONS(length(tt), encArg(x1)), ENCARG(cons_length(tt)), ENCARG(x1)) ENCARG(cons_cons(cons_length(nil), x1)) -> c6(CONS(length(nil), encArg(x1)), ENCARG(cons_length(nil)), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_active(z0)), x1)) -> c6(CONS(length(active(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_active(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_mark(z0)), x1)) -> c6(CONS(length(mark(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_mark(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_cons(z0, z1)), x1)) -> c6(CONS(length(cons(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_length(cons_cons(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_and(z0, z1)), x1)) -> c6(CONS(length(and(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_length(cons_and(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_length(z0)), x1)) -> c6(CONS(length(length(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_length(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_s(z0)), x1)) -> c6(CONS(length(s(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_s(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_take(z0, z1)), x1)) -> c6(CONS(length(take(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_length(cons_take(z0, z1))), ENCARG(x1)) ---------------------------------------- (178) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(x0, cons_and(x1, zeros))) -> c6(CONS(encArg(x0), and(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_and(x1, zeros))) ENCARG(cons_cons(x0, cons_and(x1, 0))) -> c6(CONS(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_cons(x0, cons_and(x1, tt))) -> c6(CONS(encArg(x0), and(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_and(x1, tt))) ENCARG(cons_cons(x0, cons_and(x1, nil))) -> c6(CONS(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_cons(x0, cons_and(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_and(zeros, x2))) -> c6(CONS(encArg(x0), and(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_and(zeros, x2))) ENCARG(cons_cons(x0, cons_and(0, x2))) -> c6(CONS(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_cons(x0, cons_and(tt, x2))) -> c6(CONS(encArg(x0), and(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_and(tt, x2))) ENCARG(cons_cons(x0, cons_and(nil, x2))) -> c6(CONS(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_cons(x0, cons_and(cons_active(z0), x2))) -> c6(CONS(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_length(z0), x2))) -> c6(CONS(encArg(x0), and(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_s(z0), x2))) -> c6(CONS(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), and(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_and(x1, x2))) -> c6(CONS(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_and(x1, x2))) -> c6(CONS(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_and(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_and(x1, x2))) -> c6(CONS(length(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_and(x1, x2))) -> c6(CONS(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_and(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(zeros, cons_and(x1, x2))) -> c6(CONS(zeros, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(0, cons_and(x1, x2))) -> c6(CONS(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(tt, cons_and(x1, x2))) -> c6(CONS(tt, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(nil, cons_and(x1, x2))) -> c6(CONS(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(x0, cons_length(cons_active(z0)))) -> c6(CONS(encArg(x0), length(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_cons(x0, cons_length(cons_mark(z0)))) -> c6(CONS(encArg(x0), length(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_length(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), length(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), length(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_length(z0)))) -> c6(CONS(encArg(x0), length(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_cons(x0, cons_length(cons_s(z0)))) -> c6(CONS(encArg(x0), length(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_cons(x0, cons_length(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), length(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_length(x1))) -> c6(CONS(active(encArg(z0)), length(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_mark(z0), cons_length(x1))) -> c6(CONS(mark(encArg(z0)), length(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_length(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_length(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_length(z0), cons_length(x1))) -> c6(CONS(length(encArg(z0)), length(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_s(z0), cons_length(x1))) -> c6(CONS(s(encArg(z0)), length(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_length(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_length(zeros))) -> c6(CONS(encArg(x0), length(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(0))) -> c6(CONS(encArg(x0), length(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(tt))) -> c6(CONS(encArg(x0), length(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(nil))) -> c6(CONS(encArg(x0), length(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_length(x1))) -> c6(CONS(zeros, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(0, cons_length(x1))) -> c6(CONS(0, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(tt, cons_length(x1))) -> c6(CONS(tt, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(nil, cons_length(x1))) -> c6(CONS(nil, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_s(cons_active(z0)))) -> c6(CONS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_cons(x0, cons_s(cons_mark(z0)))) -> c6(CONS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_s(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), s(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), s(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_length(z0)))) -> c6(CONS(encArg(x0), s(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_cons(x0, cons_s(cons_s(z0)))) -> c6(CONS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_cons(x0, cons_s(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), s(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_s(x1))) -> c6(CONS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_mark(z0), cons_s(x1))) -> c6(CONS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_s(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_s(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_length(z0), cons_s(x1))) -> c6(CONS(length(encArg(z0)), s(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_s(z0), cons_s(x1))) -> c6(CONS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_s(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_s(zeros))) -> c6(CONS(encArg(x0), s(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(0))) -> c6(CONS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(tt))) -> c6(CONS(encArg(x0), s(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(nil))) -> c6(CONS(encArg(x0), s(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_s(x1))) -> c6(CONS(zeros, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(0, cons_s(x1))) -> c6(CONS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(tt, cons_s(x1))) -> c6(CONS(tt, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(nil, cons_s(x1))) -> c6(CONS(nil, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_take(x1, zeros))) -> c6(CONS(encArg(x0), take(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_take(x1, zeros))) ENCARG(cons_cons(x0, cons_take(x1, 0))) -> c6(CONS(encArg(x0), take(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_take(x1, 0))) ENCARG(cons_cons(x0, cons_take(x1, tt))) -> c6(CONS(encArg(x0), take(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_take(x1, tt))) ENCARG(cons_cons(x0, cons_take(x1, nil))) -> c6(CONS(encArg(x0), take(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_take(x1, nil))) ENCARG(cons_cons(x0, cons_take(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_take(zeros, x2))) -> c6(CONS(encArg(x0), take(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_take(zeros, x2))) ENCARG(cons_cons(x0, cons_take(0, x2))) -> c6(CONS(encArg(x0), take(0, encArg(x2))), ENCARG(x0), ENCARG(cons_take(0, x2))) ENCARG(cons_cons(x0, cons_take(tt, x2))) -> c6(CONS(encArg(x0), take(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_take(tt, x2))) ENCARG(cons_cons(x0, cons_take(nil, x2))) -> c6(CONS(encArg(x0), take(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_take(nil, x2))) ENCARG(cons_cons(x0, cons_take(cons_active(z0), x2))) -> c6(CONS(encArg(x0), take(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), take(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), take(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), take(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_length(z0), x2))) -> c6(CONS(encArg(x0), take(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_s(z0), x2))) -> c6(CONS(encArg(x0), take(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), take(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_take(x1, x2))) -> c6(CONS(active(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_take(x1, x2))) -> c6(CONS(mark(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_take(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_take(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_take(x1, x2))) -> c6(CONS(length(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_take(x1, x2))) -> c6(CONS(s(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_take(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(zeros, cons_take(x1, x2))) -> c6(CONS(zeros, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(0, cons_take(x1, x2))) -> c6(CONS(0, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(tt, cons_take(x1, x2))) -> c6(CONS(tt, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(nil, cons_take(x1, x2))) -> c6(CONS(nil, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(x0, x1), cons_active(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_cons(x0, x1), cons_mark(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_cons(x0, zeros), x2)) -> c6(CONS(cons(encArg(x0), zeros), encArg(x2)), ENCARG(cons_cons(x0, zeros)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, 0), x2)) -> c6(CONS(cons(encArg(x0), 0), encArg(x2)), ENCARG(cons_cons(x0, 0)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, tt), x2)) -> c6(CONS(cons(encArg(x0), tt), encArg(x2)), ENCARG(cons_cons(x0, tt)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, nil), x2)) -> c6(CONS(cons(encArg(x0), nil), encArg(x2)), ENCARG(cons_cons(x0, nil)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_active(z0)), x2)) -> c6(CONS(cons(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_mark(z0)), x2)) -> c6(CONS(cons(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_cons(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), cons(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_cons(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_and(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), and(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_and(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_length(z0)), x2)) -> c6(CONS(cons(encArg(x0), length(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_length(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_s(z0)), x2)) -> c6(CONS(cons(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_take(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), take(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_take(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(zeros, x1), x2)) -> c6(CONS(cons(zeros, encArg(x1)), encArg(x2)), ENCARG(cons_cons(zeros, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(0, x1), x2)) -> c6(CONS(cons(0, encArg(x1)), encArg(x2)), ENCARG(cons_cons(0, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(tt, x1), x2)) -> c6(CONS(cons(tt, encArg(x1)), encArg(x2)), ENCARG(cons_cons(tt, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(nil, x1), x2)) -> c6(CONS(cons(nil, encArg(x1)), encArg(x2)), ENCARG(cons_cons(nil, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_active(z0), x1), x2)) -> c6(CONS(cons(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_mark(z0), x1), x2)) -> c6(CONS(cons(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_cons(z0, z1), x1), x2)) -> c6(CONS(cons(cons(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_cons(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_and(z0, z1), x1), x2)) -> c6(CONS(cons(and(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_and(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_length(z0), x1), x2)) -> c6(CONS(cons(length(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_length(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_s(z0), x1), x2)) -> c6(CONS(cons(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_take(z0, z1), x1), x2)) -> c6(CONS(cons(take(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_take(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, x1), zeros)) -> c6(CONS(cons(encArg(x0), encArg(x1)), zeros), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), 0)) -> c6(CONS(cons(encArg(x0), encArg(x1)), 0), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), tt)) -> c6(CONS(cons(encArg(x0), encArg(x1)), tt), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), nil)) -> c6(CONS(cons(encArg(x0), encArg(x1)), nil), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), cons_active(z0))) -> c6(CONS(and(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_and(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_and(x0, x1), cons_mark(z0))) -> c6(CONS(and(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_and(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_and(x0, zeros), x2)) -> c6(CONS(and(encArg(x0), zeros), encArg(x2)), ENCARG(cons_and(x0, zeros)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, 0), x2)) -> c6(CONS(and(encArg(x0), 0), encArg(x2)), ENCARG(cons_and(x0, 0)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, tt), x2)) -> c6(CONS(and(encArg(x0), tt), encArg(x2)), ENCARG(cons_and(x0, tt)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, nil), x2)) -> c6(CONS(and(encArg(x0), nil), encArg(x2)), ENCARG(cons_and(x0, nil)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_active(z0)), x2)) -> c6(CONS(and(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_mark(z0)), x2)) -> c6(CONS(and(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_cons(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), cons(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_cons(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_and(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), and(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_and(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_length(z0)), x2)) -> c6(CONS(and(encArg(x0), length(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_length(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_s(z0)), x2)) -> c6(CONS(and(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_take(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), take(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_take(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(zeros, x1), x2)) -> c6(CONS(and(zeros, encArg(x1)), encArg(x2)), ENCARG(cons_and(zeros, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(0, x1), x2)) -> c6(CONS(and(0, encArg(x1)), encArg(x2)), ENCARG(cons_and(0, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(tt, x1), x2)) -> c6(CONS(and(tt, encArg(x1)), encArg(x2)), ENCARG(cons_and(tt, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(nil, x1), x2)) -> c6(CONS(and(nil, encArg(x1)), encArg(x2)), ENCARG(cons_and(nil, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_active(z0), x1), x2)) -> c6(CONS(and(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_mark(z0), x1), x2)) -> c6(CONS(and(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_cons(z0, z1), x1), x2)) -> c6(CONS(and(cons(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_cons(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_and(z0, z1), x1), x2)) -> c6(CONS(and(and(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_and(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_length(z0), x1), x2)) -> c6(CONS(and(length(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_length(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_s(z0), x1), x2)) -> c6(CONS(and(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_take(z0, z1), x1), x2)) -> c6(CONS(and(take(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_take(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, x1), zeros)) -> c6(CONS(and(encArg(x0), encArg(x1)), zeros), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), 0)) -> c6(CONS(and(encArg(x0), encArg(x1)), 0), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), tt)) -> c6(CONS(and(encArg(x0), encArg(x1)), tt), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), nil)) -> c6(CONS(and(encArg(x0), encArg(x1)), nil), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_length(x0), zeros)) -> c6(CONS(length(encArg(x0)), zeros), ENCARG(cons_length(x0)), ENCARG(zeros)) ENCARG(cons_cons(cons_length(x0), 0)) -> c6(CONS(length(encArg(x0)), 0), ENCARG(cons_length(x0)), ENCARG(0)) ENCARG(cons_cons(cons_length(x0), tt)) -> c6(CONS(length(encArg(x0)), tt), ENCARG(cons_length(x0)), ENCARG(tt)) ENCARG(cons_cons(cons_length(x0), nil)) -> c6(CONS(length(encArg(x0)), nil), ENCARG(cons_length(x0)), ENCARG(nil)) ENCARG(cons_cons(cons_length(x0), cons_active(z0))) -> c6(CONS(length(encArg(x0)), active(encArg(z0))), ENCARG(cons_length(x0)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_length(x0), cons_mark(z0))) -> c6(CONS(length(encArg(x0)), mark(encArg(z0))), ENCARG(cons_length(x0)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_length(zeros), x1)) -> c6(CONS(length(zeros), encArg(x1)), ENCARG(cons_length(zeros)), ENCARG(x1)) ENCARG(cons_cons(cons_length(0), x1)) -> c6(CONS(length(0), encArg(x1)), ENCARG(cons_length(0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(tt), x1)) -> c6(CONS(length(tt), encArg(x1)), ENCARG(cons_length(tt)), ENCARG(x1)) ENCARG(cons_cons(cons_length(nil), x1)) -> c6(CONS(length(nil), encArg(x1)), ENCARG(cons_length(nil)), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_active(z0)), x1)) -> c6(CONS(length(active(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_active(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_mark(z0)), x1)) -> c6(CONS(length(mark(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_mark(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_cons(z0, z1)), x1)) -> c6(CONS(length(cons(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_length(cons_cons(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_and(z0, z1)), x1)) -> c6(CONS(length(and(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_length(cons_and(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_length(z0)), x1)) -> c6(CONS(length(length(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_length(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_s(z0)), x1)) -> c6(CONS(length(s(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_s(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_take(z0, z1)), x1)) -> c6(CONS(length(take(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_length(cons_take(z0, z1))), ENCARG(x1)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1 ---------------------------------------- (179) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing tuple parts ---------------------------------------- (180) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(x0, cons_and(x1, zeros))) -> c6(CONS(encArg(x0), and(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_and(x1, zeros))) ENCARG(cons_cons(x0, cons_and(x1, 0))) -> c6(CONS(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_cons(x0, cons_and(x1, tt))) -> c6(CONS(encArg(x0), and(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_and(x1, tt))) ENCARG(cons_cons(x0, cons_and(x1, nil))) -> c6(CONS(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_cons(x0, cons_and(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_and(zeros, x2))) -> c6(CONS(encArg(x0), and(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_and(zeros, x2))) ENCARG(cons_cons(x0, cons_and(0, x2))) -> c6(CONS(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_cons(x0, cons_and(tt, x2))) -> c6(CONS(encArg(x0), and(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_and(tt, x2))) ENCARG(cons_cons(x0, cons_and(nil, x2))) -> c6(CONS(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_cons(x0, cons_and(cons_active(z0), x2))) -> c6(CONS(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_length(z0), x2))) -> c6(CONS(encArg(x0), and(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_s(z0), x2))) -> c6(CONS(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), and(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_and(x1, x2))) -> c6(CONS(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_and(x1, x2))) -> c6(CONS(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_and(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_and(x1, x2))) -> c6(CONS(length(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_and(x1, x2))) -> c6(CONS(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_and(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(zeros, cons_and(x1, x2))) -> c6(CONS(zeros, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(0, cons_and(x1, x2))) -> c6(CONS(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(tt, cons_and(x1, x2))) -> c6(CONS(tt, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(nil, cons_and(x1, x2))) -> c6(CONS(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(x0, cons_length(cons_active(z0)))) -> c6(CONS(encArg(x0), length(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_cons(x0, cons_length(cons_mark(z0)))) -> c6(CONS(encArg(x0), length(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_length(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), length(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), length(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_length(z0)))) -> c6(CONS(encArg(x0), length(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_cons(x0, cons_length(cons_s(z0)))) -> c6(CONS(encArg(x0), length(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_cons(x0, cons_length(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), length(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_length(x1))) -> c6(CONS(active(encArg(z0)), length(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_mark(z0), cons_length(x1))) -> c6(CONS(mark(encArg(z0)), length(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_length(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_length(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_length(z0), cons_length(x1))) -> c6(CONS(length(encArg(z0)), length(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_s(z0), cons_length(x1))) -> c6(CONS(s(encArg(z0)), length(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_length(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_length(zeros))) -> c6(CONS(encArg(x0), length(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(0))) -> c6(CONS(encArg(x0), length(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(tt))) -> c6(CONS(encArg(x0), length(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(nil))) -> c6(CONS(encArg(x0), length(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_length(x1))) -> c6(CONS(zeros, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(0, cons_length(x1))) -> c6(CONS(0, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(tt, cons_length(x1))) -> c6(CONS(tt, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(nil, cons_length(x1))) -> c6(CONS(nil, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_s(cons_active(z0)))) -> c6(CONS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_cons(x0, cons_s(cons_mark(z0)))) -> c6(CONS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_s(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), s(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), s(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_length(z0)))) -> c6(CONS(encArg(x0), s(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_cons(x0, cons_s(cons_s(z0)))) -> c6(CONS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_cons(x0, cons_s(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), s(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_s(x1))) -> c6(CONS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_mark(z0), cons_s(x1))) -> c6(CONS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_s(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_s(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_length(z0), cons_s(x1))) -> c6(CONS(length(encArg(z0)), s(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_s(z0), cons_s(x1))) -> c6(CONS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_s(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_s(zeros))) -> c6(CONS(encArg(x0), s(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(0))) -> c6(CONS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(tt))) -> c6(CONS(encArg(x0), s(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(nil))) -> c6(CONS(encArg(x0), s(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_s(x1))) -> c6(CONS(zeros, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(0, cons_s(x1))) -> c6(CONS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(tt, cons_s(x1))) -> c6(CONS(tt, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(nil, cons_s(x1))) -> c6(CONS(nil, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_take(x1, zeros))) -> c6(CONS(encArg(x0), take(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_take(x1, zeros))) ENCARG(cons_cons(x0, cons_take(x1, 0))) -> c6(CONS(encArg(x0), take(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_take(x1, 0))) ENCARG(cons_cons(x0, cons_take(x1, tt))) -> c6(CONS(encArg(x0), take(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_take(x1, tt))) ENCARG(cons_cons(x0, cons_take(x1, nil))) -> c6(CONS(encArg(x0), take(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_take(x1, nil))) ENCARG(cons_cons(x0, cons_take(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_take(zeros, x2))) -> c6(CONS(encArg(x0), take(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_take(zeros, x2))) ENCARG(cons_cons(x0, cons_take(0, x2))) -> c6(CONS(encArg(x0), take(0, encArg(x2))), ENCARG(x0), ENCARG(cons_take(0, x2))) ENCARG(cons_cons(x0, cons_take(tt, x2))) -> c6(CONS(encArg(x0), take(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_take(tt, x2))) ENCARG(cons_cons(x0, cons_take(nil, x2))) -> c6(CONS(encArg(x0), take(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_take(nil, x2))) ENCARG(cons_cons(x0, cons_take(cons_active(z0), x2))) -> c6(CONS(encArg(x0), take(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), take(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), take(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), take(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_length(z0), x2))) -> c6(CONS(encArg(x0), take(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_s(z0), x2))) -> c6(CONS(encArg(x0), take(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), take(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_take(x1, x2))) -> c6(CONS(active(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_take(x1, x2))) -> c6(CONS(mark(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_take(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_take(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_take(x1, x2))) -> c6(CONS(length(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_take(x1, x2))) -> c6(CONS(s(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_take(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(zeros, cons_take(x1, x2))) -> c6(CONS(zeros, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(0, cons_take(x1, x2))) -> c6(CONS(0, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(tt, cons_take(x1, x2))) -> c6(CONS(tt, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(nil, cons_take(x1, x2))) -> c6(CONS(nil, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(x0, x1), cons_active(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_cons(x0, x1), cons_mark(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_cons(x0, zeros), x2)) -> c6(CONS(cons(encArg(x0), zeros), encArg(x2)), ENCARG(cons_cons(x0, zeros)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, 0), x2)) -> c6(CONS(cons(encArg(x0), 0), encArg(x2)), ENCARG(cons_cons(x0, 0)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, tt), x2)) -> c6(CONS(cons(encArg(x0), tt), encArg(x2)), ENCARG(cons_cons(x0, tt)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, nil), x2)) -> c6(CONS(cons(encArg(x0), nil), encArg(x2)), ENCARG(cons_cons(x0, nil)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_active(z0)), x2)) -> c6(CONS(cons(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_mark(z0)), x2)) -> c6(CONS(cons(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_cons(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), cons(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_cons(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_and(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), and(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_and(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_length(z0)), x2)) -> c6(CONS(cons(encArg(x0), length(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_length(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_s(z0)), x2)) -> c6(CONS(cons(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_take(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), take(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_take(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(zeros, x1), x2)) -> c6(CONS(cons(zeros, encArg(x1)), encArg(x2)), ENCARG(cons_cons(zeros, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(0, x1), x2)) -> c6(CONS(cons(0, encArg(x1)), encArg(x2)), ENCARG(cons_cons(0, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(tt, x1), x2)) -> c6(CONS(cons(tt, encArg(x1)), encArg(x2)), ENCARG(cons_cons(tt, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(nil, x1), x2)) -> c6(CONS(cons(nil, encArg(x1)), encArg(x2)), ENCARG(cons_cons(nil, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_active(z0), x1), x2)) -> c6(CONS(cons(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_mark(z0), x1), x2)) -> c6(CONS(cons(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_cons(z0, z1), x1), x2)) -> c6(CONS(cons(cons(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_cons(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_and(z0, z1), x1), x2)) -> c6(CONS(cons(and(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_and(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_length(z0), x1), x2)) -> c6(CONS(cons(length(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_length(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_s(z0), x1), x2)) -> c6(CONS(cons(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_take(z0, z1), x1), x2)) -> c6(CONS(cons(take(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_take(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, x1), zeros)) -> c6(CONS(cons(encArg(x0), encArg(x1)), zeros), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), 0)) -> c6(CONS(cons(encArg(x0), encArg(x1)), 0), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), tt)) -> c6(CONS(cons(encArg(x0), encArg(x1)), tt), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), nil)) -> c6(CONS(cons(encArg(x0), encArg(x1)), nil), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), cons_active(z0))) -> c6(CONS(and(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_and(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_and(x0, x1), cons_mark(z0))) -> c6(CONS(and(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_and(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_and(x0, zeros), x2)) -> c6(CONS(and(encArg(x0), zeros), encArg(x2)), ENCARG(cons_and(x0, zeros)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, 0), x2)) -> c6(CONS(and(encArg(x0), 0), encArg(x2)), ENCARG(cons_and(x0, 0)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, tt), x2)) -> c6(CONS(and(encArg(x0), tt), encArg(x2)), ENCARG(cons_and(x0, tt)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, nil), x2)) -> c6(CONS(and(encArg(x0), nil), encArg(x2)), ENCARG(cons_and(x0, nil)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_active(z0)), x2)) -> c6(CONS(and(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_mark(z0)), x2)) -> c6(CONS(and(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_cons(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), cons(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_cons(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_and(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), and(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_and(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_length(z0)), x2)) -> c6(CONS(and(encArg(x0), length(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_length(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_s(z0)), x2)) -> c6(CONS(and(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_take(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), take(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_take(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(zeros, x1), x2)) -> c6(CONS(and(zeros, encArg(x1)), encArg(x2)), ENCARG(cons_and(zeros, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(0, x1), x2)) -> c6(CONS(and(0, encArg(x1)), encArg(x2)), ENCARG(cons_and(0, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(tt, x1), x2)) -> c6(CONS(and(tt, encArg(x1)), encArg(x2)), ENCARG(cons_and(tt, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(nil, x1), x2)) -> c6(CONS(and(nil, encArg(x1)), encArg(x2)), ENCARG(cons_and(nil, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_active(z0), x1), x2)) -> c6(CONS(and(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_mark(z0), x1), x2)) -> c6(CONS(and(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_cons(z0, z1), x1), x2)) -> c6(CONS(and(cons(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_cons(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_and(z0, z1), x1), x2)) -> c6(CONS(and(and(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_and(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_length(z0), x1), x2)) -> c6(CONS(and(length(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_length(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_s(z0), x1), x2)) -> c6(CONS(and(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_take(z0, z1), x1), x2)) -> c6(CONS(and(take(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_take(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, x1), zeros)) -> c6(CONS(and(encArg(x0), encArg(x1)), zeros), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), 0)) -> c6(CONS(and(encArg(x0), encArg(x1)), 0), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), tt)) -> c6(CONS(and(encArg(x0), encArg(x1)), tt), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), nil)) -> c6(CONS(and(encArg(x0), encArg(x1)), nil), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_length(x0), cons_active(z0))) -> c6(CONS(length(encArg(x0)), active(encArg(z0))), ENCARG(cons_length(x0)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_length(x0), cons_mark(z0))) -> c6(CONS(length(encArg(x0)), mark(encArg(z0))), ENCARG(cons_length(x0)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_length(cons_active(z0)), x1)) -> c6(CONS(length(active(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_active(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_mark(z0)), x1)) -> c6(CONS(length(mark(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_mark(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_cons(z0, z1)), x1)) -> c6(CONS(length(cons(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_length(cons_cons(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_and(z0, z1)), x1)) -> c6(CONS(length(and(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_length(cons_and(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_length(z0)), x1)) -> c6(CONS(length(length(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_length(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_s(z0)), x1)) -> c6(CONS(length(s(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_s(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_take(z0, z1)), x1)) -> c6(CONS(length(take(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_length(cons_take(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_length(x0), zeros)) -> c6(CONS(length(encArg(x0)), zeros), ENCARG(cons_length(x0))) ENCARG(cons_cons(cons_length(x0), 0)) -> c6(CONS(length(encArg(x0)), 0), ENCARG(cons_length(x0))) ENCARG(cons_cons(cons_length(x0), tt)) -> c6(CONS(length(encArg(x0)), tt), ENCARG(cons_length(x0))) ENCARG(cons_cons(cons_length(x0), nil)) -> c6(CONS(length(encArg(x0)), nil), ENCARG(cons_length(x0))) ENCARG(cons_cons(cons_length(zeros), x1)) -> c6(CONS(length(zeros), encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(0), x1)) -> c6(CONS(length(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(tt), x1)) -> c6(CONS(length(tt), encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(nil), x1)) -> c6(CONS(length(nil), encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1 ---------------------------------------- (181) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_cons(cons_s(z0), x1)) -> c6(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) by ENCARG(cons_cons(cons_s(x0), zeros)) -> c6(CONS(s(encArg(x0)), zeros), ENCARG(cons_s(x0)), ENCARG(zeros)) ENCARG(cons_cons(cons_s(x0), 0)) -> c6(CONS(s(encArg(x0)), 0), ENCARG(cons_s(x0)), ENCARG(0)) ENCARG(cons_cons(cons_s(x0), tt)) -> c6(CONS(s(encArg(x0)), tt), ENCARG(cons_s(x0)), ENCARG(tt)) ENCARG(cons_cons(cons_s(x0), nil)) -> c6(CONS(s(encArg(x0)), nil), ENCARG(cons_s(x0)), ENCARG(nil)) ENCARG(cons_cons(cons_s(x0), cons_active(z0))) -> c6(CONS(s(encArg(x0)), active(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_s(x0), cons_mark(z0))) -> c6(CONS(s(encArg(x0)), mark(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_s(x0), cons_cons(z0, z1))) -> c6(CONS(s(encArg(x0)), cons(encArg(z0), encArg(z1))), ENCARG(cons_s(x0)), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(cons_s(x0), cons_and(z0, z1))) -> c6(CONS(s(encArg(x0)), and(encArg(z0), encArg(z1))), ENCARG(cons_s(x0)), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(cons_s(x0), cons_length(z0))) -> c6(CONS(s(encArg(x0)), length(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_length(z0))) ENCARG(cons_cons(cons_s(x0), cons_s(z0))) -> c6(CONS(s(encArg(x0)), s(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_s(z0))) ENCARG(cons_cons(cons_s(x0), cons_take(z0, z1))) -> c6(CONS(s(encArg(x0)), take(encArg(z0), encArg(z1))), ENCARG(cons_s(x0)), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(cons_s(zeros), x1)) -> c6(CONS(s(zeros), encArg(x1)), ENCARG(cons_s(zeros)), ENCARG(x1)) ENCARG(cons_cons(cons_s(0), x1)) -> c6(CONS(s(0), encArg(x1)), ENCARG(cons_s(0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(tt), x1)) -> c6(CONS(s(tt), encArg(x1)), ENCARG(cons_s(tt)), ENCARG(x1)) ENCARG(cons_cons(cons_s(nil), x1)) -> c6(CONS(s(nil), encArg(x1)), ENCARG(cons_s(nil)), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_active(z0)), x1)) -> c6(CONS(s(active(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_active(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_mark(z0)), x1)) -> c6(CONS(s(mark(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_mark(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_cons(z0, z1)), x1)) -> c6(CONS(s(cons(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_cons(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_and(z0, z1)), x1)) -> c6(CONS(s(and(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_and(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_length(z0)), x1)) -> c6(CONS(s(length(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_length(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_s(z0)), x1)) -> c6(CONS(s(s(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_s(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_take(z0, z1)), x1)) -> c6(CONS(s(take(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_take(z0, z1))), ENCARG(x1)) ---------------------------------------- (182) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(x0, cons_and(x1, zeros))) -> c6(CONS(encArg(x0), and(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_and(x1, zeros))) ENCARG(cons_cons(x0, cons_and(x1, 0))) -> c6(CONS(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_cons(x0, cons_and(x1, tt))) -> c6(CONS(encArg(x0), and(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_and(x1, tt))) ENCARG(cons_cons(x0, cons_and(x1, nil))) -> c6(CONS(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_cons(x0, cons_and(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_and(zeros, x2))) -> c6(CONS(encArg(x0), and(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_and(zeros, x2))) ENCARG(cons_cons(x0, cons_and(0, x2))) -> c6(CONS(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_cons(x0, cons_and(tt, x2))) -> c6(CONS(encArg(x0), and(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_and(tt, x2))) ENCARG(cons_cons(x0, cons_and(nil, x2))) -> c6(CONS(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_cons(x0, cons_and(cons_active(z0), x2))) -> c6(CONS(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_length(z0), x2))) -> c6(CONS(encArg(x0), and(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_s(z0), x2))) -> c6(CONS(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), and(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_and(x1, x2))) -> c6(CONS(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_and(x1, x2))) -> c6(CONS(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_and(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_and(x1, x2))) -> c6(CONS(length(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_and(x1, x2))) -> c6(CONS(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_and(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(zeros, cons_and(x1, x2))) -> c6(CONS(zeros, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(0, cons_and(x1, x2))) -> c6(CONS(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(tt, cons_and(x1, x2))) -> c6(CONS(tt, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(nil, cons_and(x1, x2))) -> c6(CONS(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(x0, cons_length(cons_active(z0)))) -> c6(CONS(encArg(x0), length(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_cons(x0, cons_length(cons_mark(z0)))) -> c6(CONS(encArg(x0), length(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_length(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), length(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), length(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_length(z0)))) -> c6(CONS(encArg(x0), length(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_cons(x0, cons_length(cons_s(z0)))) -> c6(CONS(encArg(x0), length(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_cons(x0, cons_length(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), length(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_length(x1))) -> c6(CONS(active(encArg(z0)), length(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_mark(z0), cons_length(x1))) -> c6(CONS(mark(encArg(z0)), length(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_length(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_length(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_length(z0), cons_length(x1))) -> c6(CONS(length(encArg(z0)), length(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_s(z0), cons_length(x1))) -> c6(CONS(s(encArg(z0)), length(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_length(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_length(zeros))) -> c6(CONS(encArg(x0), length(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(0))) -> c6(CONS(encArg(x0), length(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(tt))) -> c6(CONS(encArg(x0), length(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(nil))) -> c6(CONS(encArg(x0), length(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_length(x1))) -> c6(CONS(zeros, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(0, cons_length(x1))) -> c6(CONS(0, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(tt, cons_length(x1))) -> c6(CONS(tt, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(nil, cons_length(x1))) -> c6(CONS(nil, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_s(cons_active(z0)))) -> c6(CONS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_cons(x0, cons_s(cons_mark(z0)))) -> c6(CONS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_s(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), s(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), s(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_length(z0)))) -> c6(CONS(encArg(x0), s(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_cons(x0, cons_s(cons_s(z0)))) -> c6(CONS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_cons(x0, cons_s(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), s(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_s(x1))) -> c6(CONS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_mark(z0), cons_s(x1))) -> c6(CONS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_s(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_s(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_length(z0), cons_s(x1))) -> c6(CONS(length(encArg(z0)), s(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_s(z0), cons_s(x1))) -> c6(CONS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_s(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_s(zeros))) -> c6(CONS(encArg(x0), s(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(0))) -> c6(CONS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(tt))) -> c6(CONS(encArg(x0), s(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(nil))) -> c6(CONS(encArg(x0), s(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_s(x1))) -> c6(CONS(zeros, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(0, cons_s(x1))) -> c6(CONS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(tt, cons_s(x1))) -> c6(CONS(tt, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(nil, cons_s(x1))) -> c6(CONS(nil, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_take(x1, zeros))) -> c6(CONS(encArg(x0), take(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_take(x1, zeros))) ENCARG(cons_cons(x0, cons_take(x1, 0))) -> c6(CONS(encArg(x0), take(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_take(x1, 0))) ENCARG(cons_cons(x0, cons_take(x1, tt))) -> c6(CONS(encArg(x0), take(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_take(x1, tt))) ENCARG(cons_cons(x0, cons_take(x1, nil))) -> c6(CONS(encArg(x0), take(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_take(x1, nil))) ENCARG(cons_cons(x0, cons_take(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_take(zeros, x2))) -> c6(CONS(encArg(x0), take(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_take(zeros, x2))) ENCARG(cons_cons(x0, cons_take(0, x2))) -> c6(CONS(encArg(x0), take(0, encArg(x2))), ENCARG(x0), ENCARG(cons_take(0, x2))) ENCARG(cons_cons(x0, cons_take(tt, x2))) -> c6(CONS(encArg(x0), take(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_take(tt, x2))) ENCARG(cons_cons(x0, cons_take(nil, x2))) -> c6(CONS(encArg(x0), take(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_take(nil, x2))) ENCARG(cons_cons(x0, cons_take(cons_active(z0), x2))) -> c6(CONS(encArg(x0), take(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), take(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), take(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), take(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_length(z0), x2))) -> c6(CONS(encArg(x0), take(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_s(z0), x2))) -> c6(CONS(encArg(x0), take(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), take(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_take(x1, x2))) -> c6(CONS(active(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_take(x1, x2))) -> c6(CONS(mark(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_take(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_take(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_take(x1, x2))) -> c6(CONS(length(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_take(x1, x2))) -> c6(CONS(s(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_take(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(zeros, cons_take(x1, x2))) -> c6(CONS(zeros, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(0, cons_take(x1, x2))) -> c6(CONS(0, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(tt, cons_take(x1, x2))) -> c6(CONS(tt, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(nil, cons_take(x1, x2))) -> c6(CONS(nil, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(x0, x1), cons_active(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_cons(x0, x1), cons_mark(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_cons(x0, zeros), x2)) -> c6(CONS(cons(encArg(x0), zeros), encArg(x2)), ENCARG(cons_cons(x0, zeros)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, 0), x2)) -> c6(CONS(cons(encArg(x0), 0), encArg(x2)), ENCARG(cons_cons(x0, 0)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, tt), x2)) -> c6(CONS(cons(encArg(x0), tt), encArg(x2)), ENCARG(cons_cons(x0, tt)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, nil), x2)) -> c6(CONS(cons(encArg(x0), nil), encArg(x2)), ENCARG(cons_cons(x0, nil)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_active(z0)), x2)) -> c6(CONS(cons(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_mark(z0)), x2)) -> c6(CONS(cons(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_cons(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), cons(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_cons(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_and(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), and(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_and(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_length(z0)), x2)) -> c6(CONS(cons(encArg(x0), length(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_length(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_s(z0)), x2)) -> c6(CONS(cons(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_take(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), take(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_take(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(zeros, x1), x2)) -> c6(CONS(cons(zeros, encArg(x1)), encArg(x2)), ENCARG(cons_cons(zeros, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(0, x1), x2)) -> c6(CONS(cons(0, encArg(x1)), encArg(x2)), ENCARG(cons_cons(0, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(tt, x1), x2)) -> c6(CONS(cons(tt, encArg(x1)), encArg(x2)), ENCARG(cons_cons(tt, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(nil, x1), x2)) -> c6(CONS(cons(nil, encArg(x1)), encArg(x2)), ENCARG(cons_cons(nil, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_active(z0), x1), x2)) -> c6(CONS(cons(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_mark(z0), x1), x2)) -> c6(CONS(cons(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_cons(z0, z1), x1), x2)) -> c6(CONS(cons(cons(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_cons(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_and(z0, z1), x1), x2)) -> c6(CONS(cons(and(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_and(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_length(z0), x1), x2)) -> c6(CONS(cons(length(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_length(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_s(z0), x1), x2)) -> c6(CONS(cons(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_take(z0, z1), x1), x2)) -> c6(CONS(cons(take(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_take(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, x1), zeros)) -> c6(CONS(cons(encArg(x0), encArg(x1)), zeros), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), 0)) -> c6(CONS(cons(encArg(x0), encArg(x1)), 0), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), tt)) -> c6(CONS(cons(encArg(x0), encArg(x1)), tt), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), nil)) -> c6(CONS(cons(encArg(x0), encArg(x1)), nil), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), cons_active(z0))) -> c6(CONS(and(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_and(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_and(x0, x1), cons_mark(z0))) -> c6(CONS(and(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_and(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_and(x0, zeros), x2)) -> c6(CONS(and(encArg(x0), zeros), encArg(x2)), ENCARG(cons_and(x0, zeros)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, 0), x2)) -> c6(CONS(and(encArg(x0), 0), encArg(x2)), ENCARG(cons_and(x0, 0)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, tt), x2)) -> c6(CONS(and(encArg(x0), tt), encArg(x2)), ENCARG(cons_and(x0, tt)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, nil), x2)) -> c6(CONS(and(encArg(x0), nil), encArg(x2)), ENCARG(cons_and(x0, nil)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_active(z0)), x2)) -> c6(CONS(and(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_mark(z0)), x2)) -> c6(CONS(and(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_cons(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), cons(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_cons(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_and(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), and(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_and(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_length(z0)), x2)) -> c6(CONS(and(encArg(x0), length(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_length(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_s(z0)), x2)) -> c6(CONS(and(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_take(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), take(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_take(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(zeros, x1), x2)) -> c6(CONS(and(zeros, encArg(x1)), encArg(x2)), ENCARG(cons_and(zeros, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(0, x1), x2)) -> c6(CONS(and(0, encArg(x1)), encArg(x2)), ENCARG(cons_and(0, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(tt, x1), x2)) -> c6(CONS(and(tt, encArg(x1)), encArg(x2)), ENCARG(cons_and(tt, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(nil, x1), x2)) -> c6(CONS(and(nil, encArg(x1)), encArg(x2)), ENCARG(cons_and(nil, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_active(z0), x1), x2)) -> c6(CONS(and(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_mark(z0), x1), x2)) -> c6(CONS(and(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_cons(z0, z1), x1), x2)) -> c6(CONS(and(cons(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_cons(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_and(z0, z1), x1), x2)) -> c6(CONS(and(and(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_and(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_length(z0), x1), x2)) -> c6(CONS(and(length(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_length(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_s(z0), x1), x2)) -> c6(CONS(and(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_take(z0, z1), x1), x2)) -> c6(CONS(and(take(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_take(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, x1), zeros)) -> c6(CONS(and(encArg(x0), encArg(x1)), zeros), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), 0)) -> c6(CONS(and(encArg(x0), encArg(x1)), 0), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), tt)) -> c6(CONS(and(encArg(x0), encArg(x1)), tt), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), nil)) -> c6(CONS(and(encArg(x0), encArg(x1)), nil), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_length(x0), cons_active(z0))) -> c6(CONS(length(encArg(x0)), active(encArg(z0))), ENCARG(cons_length(x0)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_length(x0), cons_mark(z0))) -> c6(CONS(length(encArg(x0)), mark(encArg(z0))), ENCARG(cons_length(x0)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_length(cons_active(z0)), x1)) -> c6(CONS(length(active(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_active(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_mark(z0)), x1)) -> c6(CONS(length(mark(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_mark(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_cons(z0, z1)), x1)) -> c6(CONS(length(cons(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_length(cons_cons(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_and(z0, z1)), x1)) -> c6(CONS(length(and(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_length(cons_and(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_length(z0)), x1)) -> c6(CONS(length(length(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_length(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_s(z0)), x1)) -> c6(CONS(length(s(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_s(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_take(z0, z1)), x1)) -> c6(CONS(length(take(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_length(cons_take(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_length(x0), zeros)) -> c6(CONS(length(encArg(x0)), zeros), ENCARG(cons_length(x0))) ENCARG(cons_cons(cons_length(x0), 0)) -> c6(CONS(length(encArg(x0)), 0), ENCARG(cons_length(x0))) ENCARG(cons_cons(cons_length(x0), tt)) -> c6(CONS(length(encArg(x0)), tt), ENCARG(cons_length(x0))) ENCARG(cons_cons(cons_length(x0), nil)) -> c6(CONS(length(encArg(x0)), nil), ENCARG(cons_length(x0))) ENCARG(cons_cons(cons_length(zeros), x1)) -> c6(CONS(length(zeros), encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(0), x1)) -> c6(CONS(length(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(tt), x1)) -> c6(CONS(length(tt), encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(nil), x1)) -> c6(CONS(length(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(x0), zeros)) -> c6(CONS(s(encArg(x0)), zeros), ENCARG(cons_s(x0)), ENCARG(zeros)) ENCARG(cons_cons(cons_s(x0), 0)) -> c6(CONS(s(encArg(x0)), 0), ENCARG(cons_s(x0)), ENCARG(0)) ENCARG(cons_cons(cons_s(x0), tt)) -> c6(CONS(s(encArg(x0)), tt), ENCARG(cons_s(x0)), ENCARG(tt)) ENCARG(cons_cons(cons_s(x0), nil)) -> c6(CONS(s(encArg(x0)), nil), ENCARG(cons_s(x0)), ENCARG(nil)) ENCARG(cons_cons(cons_s(x0), cons_active(z0))) -> c6(CONS(s(encArg(x0)), active(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_s(x0), cons_mark(z0))) -> c6(CONS(s(encArg(x0)), mark(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_s(zeros), x1)) -> c6(CONS(s(zeros), encArg(x1)), ENCARG(cons_s(zeros)), ENCARG(x1)) ENCARG(cons_cons(cons_s(0), x1)) -> c6(CONS(s(0), encArg(x1)), ENCARG(cons_s(0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(tt), x1)) -> c6(CONS(s(tt), encArg(x1)), ENCARG(cons_s(tt)), ENCARG(x1)) ENCARG(cons_cons(cons_s(nil), x1)) -> c6(CONS(s(nil), encArg(x1)), ENCARG(cons_s(nil)), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_active(z0)), x1)) -> c6(CONS(s(active(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_active(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_mark(z0)), x1)) -> c6(CONS(s(mark(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_mark(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_cons(z0, z1)), x1)) -> c6(CONS(s(cons(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_cons(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_and(z0, z1)), x1)) -> c6(CONS(s(and(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_and(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_length(z0)), x1)) -> c6(CONS(s(length(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_length(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_s(z0)), x1)) -> c6(CONS(s(s(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_s(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_take(z0, z1)), x1)) -> c6(CONS(s(take(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_take(z0, z1))), ENCARG(x1)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1 ---------------------------------------- (183) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing tuple parts ---------------------------------------- (184) Obligation: Complexity Dependency Tuples Problem Rules: encArg(zeros) -> zeros encArg(0) -> 0 encArg(tt) -> tt encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) active(zeros) -> mark(cons(0, zeros)) active(and(tt, z0)) -> mark(z0) active(length(nil)) -> mark(0) active(length(cons(z0, z1))) -> mark(s(length(z1))) active(take(0, z0)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(cons(z1, take(z0, z2))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(0) -> active(0) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(tt) -> active(tt) mark(length(z0)) -> active(length(mark(z0))) mark(nil) -> active(nil) mark(s(z0)) -> active(s(mark(z0))) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) 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) 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) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) Tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c6(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c6(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c6(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c6(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c6(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, zeros)) -> c6(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c6(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, tt)) -> c6(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c6(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(zeros, x1)) -> c6(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c6(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(tt, x1)) -> c6(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c6(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(x0, cons_active(z0))) -> c7(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c7(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c7(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c7(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_length(z0))) -> c7(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c7(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c7(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c7(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c7(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c7(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c7(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c7(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c7(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c7(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, zeros)) -> c7(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c7(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, tt)) -> c7(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c7(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(zeros, x1)) -> c7(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c7(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(tt, x1)) -> c7(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c7(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_length(cons_active(z0))) -> c8(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c8(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c8(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_and(z0, z1))) -> c8(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_length(z0))) -> c8(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_s(z0))) -> c8(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_take(z0, z1))) -> c8(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c9(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c9(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_length(z0))) -> c9(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_take(z0, z1))) -> c9(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_active(z0))) -> c10(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c10(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c10(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c10(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_length(z0))) -> c10(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c10(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c10(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c10(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c10(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c10(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c10(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c10(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c10(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c10(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, zeros)) -> c10(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c10(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, tt)) -> c10(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c10(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(zeros, x1)) -> c10(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c10(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(tt, x1)) -> c10(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c10(TAKE(nil, encArg(x1)), ENCARG(x1)) MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) 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_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(tt, x1) -> c(CONS(tt, 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_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) 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_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(tt, x1) -> c(AND(tt, 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_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(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_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, zeros) -> c(TAKE(encArg(x0), zeros)) ENCODE_TAKE(x0, 0) -> c(TAKE(encArg(x0), 0)) ENCODE_TAKE(x0, tt) -> c(TAKE(encArg(x0), tt)) ENCODE_TAKE(x0, nil) -> c(TAKE(encArg(x0), nil)) ENCODE_TAKE(x0, cons_active(z0)) -> c(TAKE(encArg(x0), active(encArg(z0)))) ENCODE_TAKE(x0, cons_mark(z0)) -> c(TAKE(encArg(x0), mark(encArg(z0)))) ENCODE_TAKE(x0, cons_cons(z0, z1)) -> c(TAKE(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_and(z0, z1)) -> c(TAKE(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_TAKE(x0, cons_length(z0)) -> c(TAKE(encArg(x0), length(encArg(z0)))) ENCODE_TAKE(x0, cons_s(z0)) -> c(TAKE(encArg(x0), s(encArg(z0)))) ENCODE_TAKE(x0, cons_take(z0, z1)) -> c(TAKE(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_TAKE(zeros, x1) -> c(TAKE(zeros, encArg(x1))) ENCODE_TAKE(0, x1) -> c(TAKE(0, encArg(x1))) ENCODE_TAKE(tt, x1) -> c(TAKE(tt, encArg(x1))) ENCODE_TAKE(nil, x1) -> c(TAKE(nil, encArg(x1))) ENCODE_TAKE(cons_active(z0), x1) -> c(TAKE(active(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_mark(z0), x1) -> c(TAKE(mark(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_cons(z0, z1), x1) -> c(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_and(z0, z1), x1) -> c(TAKE(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_TAKE(cons_length(z0), x1) -> c(TAKE(length(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_s(z0), x1) -> c(TAKE(s(encArg(z0)), encArg(x1))) ENCODE_TAKE(cons_take(z0, z1), x1) -> c(TAKE(take(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c4(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c4(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c4(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_length(z0)))) -> c4(ACTIVE(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c4(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_take(z0, z1)))) -> c4(ACTIVE(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_active(cons_active(zeros))) -> c1(ACTIVE(active(zeros))) ENCARG(cons_active(cons_active(zeros))) -> c1(ENCARG(cons_active(zeros))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c4(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c4(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c4(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_length(z0)))) -> c4(ACTIVE(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c4(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_take(z0, z1)))) -> c4(ACTIVE(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ACTIVE(mark(zeros))) ENCARG(cons_active(cons_mark(zeros))) -> c2(ENCARG(cons_mark(zeros))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(tt))) -> c2(ACTIVE(mark(tt))) ENCARG(cons_active(cons_mark(tt))) -> c2(ENCARG(cons_mark(tt))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_cons(x0, zeros))) -> c4(ACTIVE(cons(encArg(x0), zeros)), ENCARG(cons_cons(x0, zeros))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, tt))) -> c4(ACTIVE(cons(encArg(x0), tt)), ENCARG(cons_cons(x0, tt))) ENCARG(cons_active(cons_cons(x0, nil))) -> c4(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c4(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c4(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_and(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_length(z0)))) -> c4(ACTIVE(cons(encArg(x0), length(encArg(z0)))), ENCARG(cons_cons(x0, cons_length(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c4(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_take(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_cons(zeros, x1))) -> c4(ACTIVE(cons(zeros, encArg(x1))), ENCARG(cons_cons(zeros, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(tt, x1))) -> c4(ACTIVE(cons(tt, encArg(x1))), ENCARG(cons_cons(tt, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c4(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c4(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c4(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c4(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_and(z0, z1), x1))) -> c4(ACTIVE(cons(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_length(z0), x1))) -> c4(ACTIVE(cons(length(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_length(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c4(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_take(z0, z1), x1))) -> c4(ACTIVE(cons(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_and(x0, zeros))) -> c4(ACTIVE(and(encArg(x0), zeros)), ENCARG(cons_and(x0, zeros))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) ENCARG(cons_active(cons_and(x0, tt))) -> c4(ACTIVE(and(encArg(x0), tt)), ENCARG(cons_and(x0, tt))) ENCARG(cons_active(cons_and(x0, nil))) -> c4(ACTIVE(and(encArg(x0), nil)), ENCARG(cons_and(x0, nil))) ENCARG(cons_active(cons_and(x0, cons_active(z0)))) -> c4(ACTIVE(and(encArg(x0), active(encArg(z0)))), ENCARG(cons_and(x0, cons_active(z0)))) ENCARG(cons_active(cons_and(x0, cons_mark(z0)))) -> c4(ACTIVE(and(encArg(x0), mark(encArg(z0)))), ENCARG(cons_and(x0, cons_mark(z0)))) ENCARG(cons_active(cons_and(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_and(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_and(x0, cons_length(z0)))) -> c4(ACTIVE(and(encArg(x0), length(encArg(z0)))), ENCARG(cons_and(x0, cons_length(z0)))) ENCARG(cons_active(cons_and(x0, cons_s(z0)))) -> c4(ACTIVE(and(encArg(x0), s(encArg(z0)))), ENCARG(cons_and(x0, cons_s(z0)))) ENCARG(cons_active(cons_and(x0, cons_take(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_and(zeros, x1))) -> c4(ACTIVE(and(zeros, encArg(x1))), ENCARG(cons_and(zeros, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, x1))) ENCARG(cons_active(cons_and(tt, x1))) -> c4(ACTIVE(and(tt, encArg(x1))), ENCARG(cons_and(tt, x1))) ENCARG(cons_active(cons_and(nil, x1))) -> c4(ACTIVE(and(nil, encArg(x1))), ENCARG(cons_and(nil, x1))) ENCARG(cons_active(cons_and(cons_active(z0), x1))) -> c4(ACTIVE(and(active(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_active(z0), x1))) ENCARG(cons_active(cons_and(cons_mark(z0), x1))) -> c4(ACTIVE(and(mark(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_mark(z0), x1))) ENCARG(cons_active(cons_and(cons_cons(z0, z1), x1))) -> c4(ACTIVE(and(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_and(z0, z1), x1))) -> c4(ACTIVE(and(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_and(cons_length(z0), x1))) -> c4(ACTIVE(and(length(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_length(z0), x1))) ENCARG(cons_active(cons_and(cons_s(z0), x1))) -> c4(ACTIVE(and(s(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_s(z0), x1))) ENCARG(cons_active(cons_and(cons_take(z0, z1), x1))) -> c4(ACTIVE(and(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_take(z0, z1), x1))) ENCARG(cons_active(cons_length(cons_active(z0)))) -> c4(ACTIVE(length(active(encArg(z0)))), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_active(cons_length(cons_mark(z0)))) -> c4(ACTIVE(length(mark(encArg(z0)))), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_active(cons_length(cons_cons(z0, z1)))) -> c4(ACTIVE(length(cons(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_active(cons_length(cons_and(z0, z1)))) -> c4(ACTIVE(length(and(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_active(cons_length(cons_length(z0)))) -> c4(ACTIVE(length(length(encArg(z0)))), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_active(cons_length(cons_s(z0)))) -> c4(ACTIVE(length(s(encArg(z0)))), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_active(cons_length(cons_take(z0, z1)))) -> c4(ACTIVE(length(take(encArg(z0), encArg(z1)))), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_active(cons_length(nil))) -> c4(ACTIVE(length(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c4(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c4(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c4(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_length(z0)))) -> c4(ACTIVE(s(length(encArg(z0)))), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c4(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_take(z0, z1)))) -> c4(ACTIVE(s(take(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_active(cons_take(x0, zeros))) -> c4(ACTIVE(take(encArg(x0), zeros)), ENCARG(cons_take(x0, zeros))) ENCARG(cons_active(cons_take(x0, 0))) -> c4(ACTIVE(take(encArg(x0), 0)), ENCARG(cons_take(x0, 0))) ENCARG(cons_active(cons_take(x0, tt))) -> c4(ACTIVE(take(encArg(x0), tt)), ENCARG(cons_take(x0, tt))) ENCARG(cons_active(cons_take(x0, nil))) -> c4(ACTIVE(take(encArg(x0), nil)), ENCARG(cons_take(x0, nil))) ENCARG(cons_active(cons_take(x0, cons_active(z0)))) -> c4(ACTIVE(take(encArg(x0), active(encArg(z0)))), ENCARG(cons_take(x0, cons_active(z0)))) ENCARG(cons_active(cons_take(x0, cons_mark(z0)))) -> c4(ACTIVE(take(encArg(x0), mark(encArg(z0)))), ENCARG(cons_take(x0, cons_mark(z0)))) ENCARG(cons_active(cons_take(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_and(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_take(x0, cons_length(z0)))) -> c4(ACTIVE(take(encArg(x0), length(encArg(z0)))), ENCARG(cons_take(x0, cons_length(z0)))) ENCARG(cons_active(cons_take(x0, cons_s(z0)))) -> c4(ACTIVE(take(encArg(x0), s(encArg(z0)))), ENCARG(cons_take(x0, cons_s(z0)))) ENCARG(cons_active(cons_take(x0, cons_take(z0, z1)))) -> c4(ACTIVE(take(encArg(x0), take(encArg(z0), encArg(z1)))), ENCARG(cons_take(x0, cons_take(z0, z1)))) ENCARG(cons_active(cons_take(zeros, x1))) -> c4(ACTIVE(take(zeros, encArg(x1))), ENCARG(cons_take(zeros, x1))) ENCARG(cons_active(cons_take(0, x1))) -> c4(ACTIVE(take(0, encArg(x1))), ENCARG(cons_take(0, x1))) ENCARG(cons_active(cons_take(tt, x1))) -> c4(ACTIVE(take(tt, encArg(x1))), ENCARG(cons_take(tt, x1))) ENCARG(cons_active(cons_take(nil, x1))) -> c4(ACTIVE(take(nil, encArg(x1))), ENCARG(cons_take(nil, x1))) ENCARG(cons_active(cons_take(cons_active(z0), x1))) -> c4(ACTIVE(take(active(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_active(z0), x1))) ENCARG(cons_active(cons_take(cons_mark(z0), x1))) -> c4(ACTIVE(take(mark(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_mark(z0), x1))) ENCARG(cons_active(cons_take(cons_cons(z0, z1), x1))) -> c4(ACTIVE(take(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_and(z0, z1), x1))) -> c4(ACTIVE(take(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_take(cons_length(z0), x1))) -> c4(ACTIVE(take(length(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_length(z0), x1))) ENCARG(cons_active(cons_take(cons_s(z0), x1))) -> c4(ACTIVE(take(s(encArg(z0)), encArg(x1))), ENCARG(cons_take(cons_s(z0), x1))) ENCARG(cons_active(cons_take(cons_take(z0, z1), x1))) -> c4(ACTIVE(take(take(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_take(cons_take(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c5(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c5(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c5(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_length(z0)))) -> c5(MARK(active(length(encArg(z0)))), ENCARG(cons_active(cons_length(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c5(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_take(z0, z1)))) -> c5(MARK(active(take(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_take(z0, z1)))) ENCARG(cons_mark(cons_active(zeros))) -> c3(MARK(active(zeros))) ENCARG(cons_mark(cons_active(zeros))) -> c3(ENCARG(cons_active(zeros))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c5(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c5(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_cons(z0, z1)))) -> c5(MARK(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_length(z0)))) -> c5(MARK(mark(length(encArg(z0)))), ENCARG(cons_mark(cons_length(z0)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c5(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_take(z0, z1)))) -> c5(MARK(mark(take(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_take(z0, z1)))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(MARK(mark(zeros))) ENCARG(cons_mark(cons_mark(zeros))) -> c11(ENCARG(cons_mark(zeros))) ENCARG(cons_mark(cons_mark(0))) -> c11(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c11(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(tt))) -> c11(MARK(mark(tt))) ENCARG(cons_mark(cons_mark(tt))) -> c11(ENCARG(cons_mark(tt))) ENCARG(cons_mark(cons_mark(nil))) -> c11(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c11(ENCARG(cons_mark(nil))) ENCARG(cons_cons(x0, cons_cons(x1, zeros))) -> c6(CONS(encArg(x0), cons(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_cons(x1, zeros))) ENCARG(cons_cons(x0, cons_cons(x1, 0))) -> c6(CONS(encArg(x0), cons(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_cons(x1, 0))) ENCARG(cons_cons(x0, cons_cons(x1, tt))) -> c6(CONS(encArg(x0), cons(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_cons(x1, tt))) ENCARG(cons_cons(x0, cons_cons(x1, nil))) -> c6(CONS(encArg(x0), cons(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_cons(x1, nil))) ENCARG(cons_cons(x0, cons_cons(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), cons(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_cons(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), cons(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_cons(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_cons(zeros, x2))) -> c6(CONS(encArg(x0), cons(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(zeros, x2))) ENCARG(cons_cons(x0, cons_cons(0, x2))) -> c6(CONS(encArg(x0), cons(0, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(0, x2))) ENCARG(cons_cons(x0, cons_cons(tt, x2))) -> c6(CONS(encArg(x0), cons(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(tt, x2))) ENCARG(cons_cons(x0, cons_cons(nil, x2))) -> c6(CONS(encArg(x0), cons(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_cons(nil, x2))) ENCARG(cons_cons(x0, cons_cons(cons_active(z0), x2))) -> c6(CONS(encArg(x0), cons(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), cons(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_cons(cons_length(z0), x2))) -> c6(CONS(encArg(x0), cons(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_s(z0), x2))) -> c6(CONS(encArg(x0), cons(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_cons(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), cons(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_cons(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_cons(x1, x2))) -> c6(CONS(active(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_cons(x1, x2))) -> c6(CONS(mark(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_cons(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_cons(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_cons(x1, x2))) -> c6(CONS(length(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_cons(x1, x2))) -> c6(CONS(s(encArg(z0)), cons(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_cons(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), cons(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(zeros, cons_cons(x1, x2))) -> c6(CONS(zeros, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(0, cons_cons(x1, x2))) -> c6(CONS(0, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(tt, cons_cons(x1, x2))) -> c6(CONS(tt, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(nil, cons_cons(x1, x2))) -> c6(CONS(nil, cons(encArg(x1), encArg(x2))), ENCARG(cons_cons(x1, x2))) ENCARG(cons_cons(x0, cons_and(x1, zeros))) -> c6(CONS(encArg(x0), and(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_and(x1, zeros))) ENCARG(cons_cons(x0, cons_and(x1, 0))) -> c6(CONS(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_cons(x0, cons_and(x1, tt))) -> c6(CONS(encArg(x0), and(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_and(x1, tt))) ENCARG(cons_cons(x0, cons_and(x1, nil))) -> c6(CONS(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_cons(x0, cons_and(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_and(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_and(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), and(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_and(zeros, x2))) -> c6(CONS(encArg(x0), and(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_and(zeros, x2))) ENCARG(cons_cons(x0, cons_and(0, x2))) -> c6(CONS(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_cons(x0, cons_and(tt, x2))) -> c6(CONS(encArg(x0), and(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_and(tt, x2))) ENCARG(cons_cons(x0, cons_and(nil, x2))) -> c6(CONS(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_cons(x0, cons_and(cons_active(z0), x2))) -> c6(CONS(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_and(cons_length(z0), x2))) -> c6(CONS(encArg(x0), and(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_s(z0), x2))) -> c6(CONS(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_and(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), and(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_and(x1, x2))) -> c6(CONS(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_and(x1, x2))) -> c6(CONS(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_and(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_and(x1, x2))) -> c6(CONS(length(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_and(x1, x2))) -> c6(CONS(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_and(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(zeros, cons_and(x1, x2))) -> c6(CONS(zeros, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(0, cons_and(x1, x2))) -> c6(CONS(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(tt, cons_and(x1, x2))) -> c6(CONS(tt, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(nil, cons_and(x1, x2))) -> c6(CONS(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_cons(x0, cons_length(cons_active(z0)))) -> c6(CONS(encArg(x0), length(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_active(z0)))) ENCARG(cons_cons(x0, cons_length(cons_mark(z0)))) -> c6(CONS(encArg(x0), length(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_length(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), length(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), length(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_length(cons_length(z0)))) -> c6(CONS(encArg(x0), length(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_length(z0)))) ENCARG(cons_cons(x0, cons_length(cons_s(z0)))) -> c6(CONS(encArg(x0), length(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_length(cons_s(z0)))) ENCARG(cons_cons(x0, cons_length(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), length(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_length(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_length(x1))) -> c6(CONS(active(encArg(z0)), length(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_mark(z0), cons_length(x1))) -> c6(CONS(mark(encArg(z0)), length(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_length(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_length(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_length(z0), cons_length(x1))) -> c6(CONS(length(encArg(z0)), length(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_s(z0), cons_length(x1))) -> c6(CONS(s(encArg(z0)), length(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_length(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_length(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), length(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_length(zeros))) -> c6(CONS(encArg(x0), length(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(0))) -> c6(CONS(encArg(x0), length(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(tt))) -> c6(CONS(encArg(x0), length(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_length(nil))) -> c6(CONS(encArg(x0), length(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_length(x1))) -> c6(CONS(zeros, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(0, cons_length(x1))) -> c6(CONS(0, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(tt, cons_length(x1))) -> c6(CONS(tt, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(nil, cons_length(x1))) -> c6(CONS(nil, length(encArg(x1))), ENCARG(cons_length(x1))) ENCARG(cons_cons(x0, cons_s(cons_active(z0)))) -> c6(CONS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_cons(x0, cons_s(cons_mark(z0)))) -> c6(CONS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_cons(x0, cons_s(cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), s(cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_and(z0, z1)))) -> c6(CONS(encArg(x0), s(and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_s(cons_length(z0)))) -> c6(CONS(encArg(x0), s(length(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_length(z0)))) ENCARG(cons_cons(x0, cons_s(cons_s(z0)))) -> c6(CONS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_cons(x0, cons_s(cons_take(z0, z1)))) -> c6(CONS(encArg(x0), s(take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_take(z0, z1)))) ENCARG(cons_cons(cons_active(z0), cons_s(x1))) -> c6(CONS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_mark(z0), cons_s(x1))) -> c6(CONS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_cons(z0, z1), cons_s(x1))) -> c6(CONS(cons(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_and(z0, z1), cons_s(x1))) -> c6(CONS(and(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_and(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_length(z0), cons_s(x1))) -> c6(CONS(length(encArg(z0)), s(encArg(x1))), ENCARG(cons_length(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_s(z0), cons_s(x1))) -> c6(CONS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_cons(cons_take(z0, z1), cons_s(x1))) -> c6(CONS(take(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_take(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_s(zeros))) -> c6(CONS(encArg(x0), s(zeros)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(0))) -> c6(CONS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(tt))) -> c6(CONS(encArg(x0), s(tt)), ENCARG(x0)) ENCARG(cons_cons(x0, cons_s(nil))) -> c6(CONS(encArg(x0), s(nil)), ENCARG(x0)) ENCARG(cons_cons(zeros, cons_s(x1))) -> c6(CONS(zeros, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(0, cons_s(x1))) -> c6(CONS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(tt, cons_s(x1))) -> c6(CONS(tt, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(nil, cons_s(x1))) -> c6(CONS(nil, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_cons(x0, cons_take(x1, zeros))) -> c6(CONS(encArg(x0), take(encArg(x1), zeros)), ENCARG(x0), ENCARG(cons_take(x1, zeros))) ENCARG(cons_cons(x0, cons_take(x1, 0))) -> c6(CONS(encArg(x0), take(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_take(x1, 0))) ENCARG(cons_cons(x0, cons_take(x1, tt))) -> c6(CONS(encArg(x0), take(encArg(x1), tt)), ENCARG(x0), ENCARG(cons_take(x1, tt))) ENCARG(cons_cons(x0, cons_take(x1, nil))) -> c6(CONS(encArg(x0), take(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_take(x1, nil))) ENCARG(cons_cons(x0, cons_take(x1, cons_active(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_active(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_mark(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_mark(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_cons(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_cons(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_and(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_and(z0, z1)))) ENCARG(cons_cons(x0, cons_take(x1, cons_length(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), length(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_length(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_s(z0)))) -> c6(CONS(encArg(x0), take(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_take(x1, cons_s(z0)))) ENCARG(cons_cons(x0, cons_take(x1, cons_take(z0, z1)))) -> c6(CONS(encArg(x0), take(encArg(x1), take(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_take(x1, cons_take(z0, z1)))) ENCARG(cons_cons(x0, cons_take(zeros, x2))) -> c6(CONS(encArg(x0), take(zeros, encArg(x2))), ENCARG(x0), ENCARG(cons_take(zeros, x2))) ENCARG(cons_cons(x0, cons_take(0, x2))) -> c6(CONS(encArg(x0), take(0, encArg(x2))), ENCARG(x0), ENCARG(cons_take(0, x2))) ENCARG(cons_cons(x0, cons_take(tt, x2))) -> c6(CONS(encArg(x0), take(tt, encArg(x2))), ENCARG(x0), ENCARG(cons_take(tt, x2))) ENCARG(cons_cons(x0, cons_take(nil, x2))) -> c6(CONS(encArg(x0), take(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_take(nil, x2))) ENCARG(cons_cons(x0, cons_take(cons_active(z0), x2))) -> c6(CONS(encArg(x0), take(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_active(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_mark(z0), x2))) -> c6(CONS(encArg(x0), take(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_mark(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_cons(z0, z1), x2))) -> c6(CONS(encArg(x0), take(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_cons(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_and(z0, z1), x2))) -> c6(CONS(encArg(x0), take(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_and(z0, z1), x2))) ENCARG(cons_cons(x0, cons_take(cons_length(z0), x2))) -> c6(CONS(encArg(x0), take(length(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_length(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_s(z0), x2))) -> c6(CONS(encArg(x0), take(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_s(z0), x2))) ENCARG(cons_cons(x0, cons_take(cons_take(z0, z1), x2))) -> c6(CONS(encArg(x0), take(take(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_take(cons_take(z0, z1), x2))) ENCARG(cons_cons(cons_active(z0), cons_take(x1, x2))) -> c6(CONS(active(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_mark(z0), cons_take(x1, x2))) -> c6(CONS(mark(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(z0, z1), cons_take(x1, x2))) -> c6(CONS(cons(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_and(z0, z1), cons_take(x1, x2))) -> c6(CONS(and(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_length(z0), cons_take(x1, x2))) -> c6(CONS(length(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_length(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_s(z0), cons_take(x1, x2))) -> c6(CONS(s(encArg(z0)), take(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_take(z0, z1), cons_take(x1, x2))) -> c6(CONS(take(encArg(z0), encArg(z1)), take(encArg(x1), encArg(x2))), ENCARG(cons_take(z0, z1)), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(zeros, cons_take(x1, x2))) -> c6(CONS(zeros, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(0, cons_take(x1, x2))) -> c6(CONS(0, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(tt, cons_take(x1, x2))) -> c6(CONS(tt, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(nil, cons_take(x1, x2))) -> c6(CONS(nil, take(encArg(x1), encArg(x2))), ENCARG(cons_take(x1, x2))) ENCARG(cons_cons(cons_cons(x0, x1), cons_active(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_cons(x0, x1), cons_mark(z0))) -> c6(CONS(cons(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_cons(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_cons(x0, zeros), x2)) -> c6(CONS(cons(encArg(x0), zeros), encArg(x2)), ENCARG(cons_cons(x0, zeros)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, 0), x2)) -> c6(CONS(cons(encArg(x0), 0), encArg(x2)), ENCARG(cons_cons(x0, 0)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, tt), x2)) -> c6(CONS(cons(encArg(x0), tt), encArg(x2)), ENCARG(cons_cons(x0, tt)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, nil), x2)) -> c6(CONS(cons(encArg(x0), nil), encArg(x2)), ENCARG(cons_cons(x0, nil)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_active(z0)), x2)) -> c6(CONS(cons(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_mark(z0)), x2)) -> c6(CONS(cons(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_cons(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), cons(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_cons(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_and(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), and(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_and(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_length(z0)), x2)) -> c6(CONS(cons(encArg(x0), length(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_length(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_s(z0)), x2)) -> c6(CONS(cons(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_cons(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, cons_take(z0, z1)), x2)) -> c6(CONS(cons(encArg(x0), take(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_cons(x0, cons_take(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_cons(zeros, x1), x2)) -> c6(CONS(cons(zeros, encArg(x1)), encArg(x2)), ENCARG(cons_cons(zeros, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(0, x1), x2)) -> c6(CONS(cons(0, encArg(x1)), encArg(x2)), ENCARG(cons_cons(0, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(tt, x1), x2)) -> c6(CONS(cons(tt, encArg(x1)), encArg(x2)), ENCARG(cons_cons(tt, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(nil, x1), x2)) -> c6(CONS(cons(nil, encArg(x1)), encArg(x2)), ENCARG(cons_cons(nil, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_active(z0), x1), x2)) -> c6(CONS(cons(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_mark(z0), x1), x2)) -> c6(CONS(cons(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_cons(z0, z1), x1), x2)) -> c6(CONS(cons(cons(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_cons(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_and(z0, z1), x1), x2)) -> c6(CONS(cons(and(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_and(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_length(z0), x1), x2)) -> c6(CONS(cons(length(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_length(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_s(z0), x1), x2)) -> c6(CONS(cons(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(cons_take(z0, z1), x1), x2)) -> c6(CONS(cons(take(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_cons(cons_take(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_cons(x0, x1), zeros)) -> c6(CONS(cons(encArg(x0), encArg(x1)), zeros), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), 0)) -> c6(CONS(cons(encArg(x0), encArg(x1)), 0), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), tt)) -> c6(CONS(cons(encArg(x0), encArg(x1)), tt), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_cons(x0, x1), nil)) -> c6(CONS(cons(encArg(x0), encArg(x1)), nil), ENCARG(cons_cons(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), cons_active(z0))) -> c6(CONS(and(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_and(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_and(x0, x1), cons_mark(z0))) -> c6(CONS(and(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_and(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_and(x0, zeros), x2)) -> c6(CONS(and(encArg(x0), zeros), encArg(x2)), ENCARG(cons_and(x0, zeros)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, 0), x2)) -> c6(CONS(and(encArg(x0), 0), encArg(x2)), ENCARG(cons_and(x0, 0)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, tt), x2)) -> c6(CONS(and(encArg(x0), tt), encArg(x2)), ENCARG(cons_and(x0, tt)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, nil), x2)) -> c6(CONS(and(encArg(x0), nil), encArg(x2)), ENCARG(cons_and(x0, nil)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_active(z0)), x2)) -> c6(CONS(and(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_mark(z0)), x2)) -> c6(CONS(and(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_cons(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), cons(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_cons(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_and(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), and(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_and(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_length(z0)), x2)) -> c6(CONS(and(encArg(x0), length(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_length(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_s(z0)), x2)) -> c6(CONS(and(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_and(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, cons_take(z0, z1)), x2)) -> c6(CONS(and(encArg(x0), take(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_and(x0, cons_take(z0, z1))), ENCARG(x2)) ENCARG(cons_cons(cons_and(zeros, x1), x2)) -> c6(CONS(and(zeros, encArg(x1)), encArg(x2)), ENCARG(cons_and(zeros, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(0, x1), x2)) -> c6(CONS(and(0, encArg(x1)), encArg(x2)), ENCARG(cons_and(0, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(tt, x1), x2)) -> c6(CONS(and(tt, encArg(x1)), encArg(x2)), ENCARG(cons_and(tt, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(nil, x1), x2)) -> c6(CONS(and(nil, encArg(x1)), encArg(x2)), ENCARG(cons_and(nil, x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_active(z0), x1), x2)) -> c6(CONS(and(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_mark(z0), x1), x2)) -> c6(CONS(and(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_cons(z0, z1), x1), x2)) -> c6(CONS(and(cons(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_cons(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_and(z0, z1), x1), x2)) -> c6(CONS(and(and(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_and(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_length(z0), x1), x2)) -> c6(CONS(and(length(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_length(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_s(z0), x1), x2)) -> c6(CONS(and(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(cons_take(z0, z1), x1), x2)) -> c6(CONS(and(take(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_and(cons_take(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_cons(cons_and(x0, x1), zeros)) -> c6(CONS(and(encArg(x0), encArg(x1)), zeros), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), 0)) -> c6(CONS(and(encArg(x0), encArg(x1)), 0), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), tt)) -> c6(CONS(and(encArg(x0), encArg(x1)), tt), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_and(x0, x1), nil)) -> c6(CONS(and(encArg(x0), encArg(x1)), nil), ENCARG(cons_and(x0, x1))) ENCARG(cons_cons(cons_length(x0), cons_active(z0))) -> c6(CONS(length(encArg(x0)), active(encArg(z0))), ENCARG(cons_length(x0)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_length(x0), cons_mark(z0))) -> c6(CONS(length(encArg(x0)), mark(encArg(z0))), ENCARG(cons_length(x0)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_length(cons_active(z0)), x1)) -> c6(CONS(length(active(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_active(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_mark(z0)), x1)) -> c6(CONS(length(mark(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_mark(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_cons(z0, z1)), x1)) -> c6(CONS(length(cons(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_length(cons_cons(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_and(z0, z1)), x1)) -> c6(CONS(length(and(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_length(cons_and(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_length(z0)), x1)) -> c6(CONS(length(length(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_length(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_s(z0)), x1)) -> c6(CONS(length(s(encArg(z0))), encArg(x1)), ENCARG(cons_length(cons_s(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_length(cons_take(z0, z1)), x1)) -> c6(CONS(length(take(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_length(cons_take(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_length(x0), zeros)) -> c6(CONS(length(encArg(x0)), zeros), ENCARG(cons_length(x0))) ENCARG(cons_cons(cons_length(x0), 0)) -> c6(CONS(length(encArg(x0)), 0), ENCARG(cons_length(x0))) ENCARG(cons_cons(cons_length(x0), tt)) -> c6(CONS(length(encArg(x0)), tt), ENCARG(cons_length(x0))) ENCARG(cons_cons(cons_length(x0), nil)) -> c6(CONS(length(encArg(x0)), nil), ENCARG(cons_length(x0))) ENCARG(cons_cons(cons_length(zeros), x1)) -> c6(CONS(length(zeros), encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(0), x1)) -> c6(CONS(length(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(tt), x1)) -> c6(CONS(length(tt), encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(cons_length(nil), x1)) -> c6(CONS(length(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(x0), cons_active(z0))) -> c6(CONS(s(encArg(x0)), active(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_active(z0))) ENCARG(cons_cons(cons_s(x0), cons_mark(z0))) -> c6(CONS(s(encArg(x0)), mark(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_mark(z0))) ENCARG(cons_cons(cons_s(cons_active(z0)), x1)) -> c6(CONS(s(active(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_active(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_mark(z0)), x1)) -> c6(CONS(s(mark(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_mark(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_cons(z0, z1)), x1)) -> c6(CONS(s(cons(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_cons(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_and(z0, z1)), x1)) -> c6(CONS(s(and(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_and(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_length(z0)), x1)) -> c6(CONS(s(length(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_length(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_s(z0)), x1)) -> c6(CONS(s(s(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_s(z0))), ENCARG(x1)) ENCARG(cons_cons(cons_s(cons_take(z0, z1)), x1)) -> c6(CONS(s(take(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_take(z0, z1))), ENCARG(x1)) ENCARG(cons_cons(cons_s(x0), zeros)) -> c6(CONS(s(encArg(x0)), zeros), ENCARG(cons_s(x0))) ENCARG(cons_cons(cons_s(x0), 0)) -> c6(CONS(s(encArg(x0)), 0), ENCARG(cons_s(x0))) ENCARG(cons_cons(cons_s(x0), tt)) -> c6(CONS(s(encArg(x0)), tt), ENCARG(cons_s(x0))) ENCARG(cons_cons(cons_s(x0), nil)) -> c6(CONS(s(encArg(x0)), nil), ENCARG(cons_s(x0))) ENCARG(cons_cons(cons_s(zeros), x1)) -> c6(CONS(s(zeros), encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(0), x1)) -> c6(CONS(s(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(tt), x1)) -> c6(CONS(s(tt), encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(nil), x1)) -> c6(CONS(s(nil), encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(and(tt, z0)) -> c23(MARK(z0)) ACTIVE(length(nil)) -> c24(MARK(0)) ACTIVE(take(0, z0)) -> c26(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c27(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(zeros) -> c28(ACTIVE(zeros)) CONS(mark(z0), z1) -> c37(CONS(z0, z1)) CONS(z0, mark(z1)) -> c38(CONS(z0, z1)) CONS(active(z0), z1) -> c39(CONS(z0, z1)) CONS(z0, active(z1)) -> c40(CONS(z0, z1)) AND(mark(z0), z1) -> c41(AND(z0, z1)) AND(z0, mark(z1)) -> c42(AND(z0, z1)) AND(active(z0), z1) -> c43(AND(z0, z1)) AND(z0, active(z1)) -> c44(AND(z0, z1)) LENGTH(mark(z0)) -> c45(LENGTH(z0)) LENGTH(active(z0)) -> c46(LENGTH(z0)) S(mark(z0)) -> c47(S(z0)) S(active(z0)) -> c48(S(z0)) TAKE(mark(z0), z1) -> c49(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c50(TAKE(z0, z1)) TAKE(active(z0), z1) -> c51(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c52(TAKE(z0, z1)) ACTIVE(zeros) -> c22(MARK(cons(0, zeros))) ACTIVE(length(cons(z0, z1))) -> c25(MARK(s(length(z1))), LENGTH(z1)) MARK(0) -> c30 MARK(tt) -> c32 MARK(nil) -> c34 MARK(cons(zeros, x1)) -> c29(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c29(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(0, x1)) -> c29(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(and(z0, z1), x1)) -> c29(ACTIVE(cons(active(and(mark(z0), z1)), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c29(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(length(z0), x1)) -> c29(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(nil, x1)) -> c29(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(s(z0), x1)) -> c29(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(take(z0, z1), x1)) -> c29(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(x0, x1)) -> c29(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c29(CONS(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c31(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(zeros, x1)) -> c31(ACTIVE(and(active(zeros), x1)), AND(mark(zeros), x1), MARK(zeros)) MARK(and(cons(z0, z1), x1)) -> c31(ACTIVE(and(active(cons(mark(z0), z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(0, x1)) -> c31(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(and(z0, z1), x1)) -> c31(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(tt, x1)) -> c31(ACTIVE(and(active(tt), x1)), AND(mark(tt), x1), MARK(tt)) MARK(and(length(z0), x1)) -> c31(ACTIVE(and(active(length(mark(z0))), x1)), AND(mark(length(z0)), x1), MARK(length(z0))) MARK(and(nil, x1)) -> c31(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(s(z0), x1)) -> c31(ACTIVE(and(active(s(mark(z0))), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(take(z0, z1), x1)) -> c31(ACTIVE(and(active(take(mark(z0), mark(z1))), x1)), AND(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(and(x0, x1)) -> c31(AND(mark(x0), x1)) MARK(length(z0)) -> c33(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(zeros)) -> c33(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c33(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(0)) -> c33(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(and(z0, z1))) -> c33(ACTIVE(length(active(and(mark(z0), z1)))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c33(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(length(z0))) -> c33(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(nil)) -> c33(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(s(z0))) -> c33(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(take(z0, z1))) -> c33(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(zeros)) -> c35(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c35(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(0)) -> c35(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(and(z0, z1))) -> c35(ACTIVE(s(active(and(mark(z0), z1)))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c35(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(length(z0))) -> c35(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(nil)) -> c35(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(s(z0))) -> c35(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(take(z0, z1))) -> c35(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(z0)) -> c35(S(mark(z0)), MARK(z0)) MARK(take(z0, x1)) -> c36(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c36(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, zeros)) -> c36(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c36(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, 0)) -> c36(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, and(z0, z1))) -> c36(ACTIVE(take(mark(x0), active(and(mark(z0), z1)))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c36(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, length(z0))) -> c36(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, nil)) -> c36(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, s(z0))) -> c36(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, take(z0, z1))) -> c36(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(zeros, x1)) -> c36(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c36(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(0, x1)) -> c36(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(and(z0, z1), x1)) -> c36(ACTIVE(take(active(and(mark(z0), z1)), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c36(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(length(z0), x1)) -> c36(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(nil, x1)) -> c36(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(s(z0), x1)) -> c36(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c36(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, cons_2, and_2, length_1, s_1, take_2 Defined Pair Symbols: ACTIVE_1, MARK_1, CONS_2, AND_2, LENGTH_1, S_1, TAKE_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_AND_2, ENCODE_LENGTH_1, ENCODE_S_1, ENCODE_TAKE_2 Compound Symbols: c23_1, c24_1, c26_1, c27_3, c28_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c22_1, c25_2, c30, c32, c34, c4_1, c5_2, c5_1, c6_3, c6_2, c7_3, c7_2, c8_2, c9_2, c10_3, c10_2, c29_3, c29_1, c29_2, c31_3, c31_1, c33_3, c35_3, c35_2, c36_4, c_1, c4_2, c1_1, c2_1, c3_1, c11_1