/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), 533 ms] (4) CpxRelTRS (5) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CpxRelTRS (7) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (8) typed CpxTrs (9) OrderProof [LOWER BOUND(ID), 8 ms] (10) typed CpxTrs (11) RewriteLemmaProof [LOWER BOUND(ID), 24.5 s] (12) BOUNDS(1, INF) (13) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] (14) TRS for Loop Detection (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), 32.9 s] (26) CpxTypedWeightedCompleteTrs (27) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 2 ms] (28) CpxRNTS (29) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (30) CpxRNTS (31) CompletionProof [UPPER BOUND(ID), 0 ms] (32) CpxTypedWeightedCompleteTrs (33) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 2 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), 4 ms] (42) CdtProblem (43) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (44) CdtProblem (45) CdtUsableRulesProof [BOTH BOUNDS(ID, ID), 33 ms] (46) CdtProblem (47) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (48) CdtProblem (49) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (50) CdtProblem (51) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 4 ms] (52) CdtProblem (53) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (54) CdtProblem (55) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (56) CdtProblem (57) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CdtProblem (59) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 75 ms] (60) CdtProblem (61) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (62) CdtProblem (63) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 82 ms] (64) CdtProblem (65) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 14 ms] (66) CdtProblem (67) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 44 ms] (68) CdtProblem (69) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (70) CdtProblem (71) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 81 ms] (72) CdtProblem (73) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 27 ms] (74) CdtProblem (75) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 111 ms] (76) CdtProblem (77) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 39 ms] (78) CdtProblem (79) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 42 ms] (80) CdtProblem (81) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 11 ms] (82) CdtProblem (83) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 1 ms] (84) CdtProblem (85) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (86) CdtProblem (87) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 36 ms] (88) CdtProblem (89) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 41 ms] (90) CdtProblem (91) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 24 ms] (92) CdtProblem (93) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (94) CdtProblem (95) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (96) CdtProblem (97) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (98) CdtProblem (99) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (100) CdtProblem (101) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (102) CdtProblem (103) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (104) CdtProblem (105) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (106) CdtProblem (107) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 16 ms] (108) CdtProblem (109) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 9 ms] (110) CdtProblem (111) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (112) CdtProblem (113) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 25 ms] (114) CdtProblem (115) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (116) CdtProblem (117) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 35 ms] (118) CdtProblem (119) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (120) CdtProblem (121) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 28 ms] (122) CdtProblem (123) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 32 ms] (124) CdtProblem (125) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 97 ms] (126) CdtProblem (127) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 120 ms] (128) CdtProblem (129) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 77 ms] (130) CdtProblem (131) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 46 ms] (132) CdtProblem (133) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 27 ms] (134) CdtProblem (135) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 12 ms] (136) CdtProblem (137) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 94 ms] (138) CdtProblem (139) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 90 ms] (140) CdtProblem (141) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (142) CdtProblem (143) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 54 ms] (144) CdtProblem (145) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 39 ms] (146) CdtProblem (147) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 272 ms] (148) CdtProblem (149) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 46 ms] (150) CdtProblem (151) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 543 ms] (152) CdtProblem (153) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 18 ms] (154) CdtProblem (155) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 397 ms] (156) CdtProblem ---------------------------------------- (0) Obligation: The Derivational Complexity (innermost) of the given DCpxTrs could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(and(true, X)) -> mark(X) active(and(false, Y)) -> mark(false) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) active(add(0, X)) -> mark(X) active(add(s(X), Y)) -> mark(s(add(X, Y))) active(first(0, X)) -> mark(nil) active(first(s(X), cons(Y, Z))) -> mark(cons(Y, first(X, Z))) active(from(X)) -> mark(cons(X, from(s(X)))) mark(and(X1, X2)) -> active(and(mark(X1), X2)) mark(true) -> active(true) mark(false) -> active(false) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) mark(add(X1, X2)) -> active(add(mark(X1), X2)) mark(0) -> active(0) mark(s(X)) -> active(s(X)) mark(first(X1, X2)) -> active(first(mark(X1), mark(X2))) mark(nil) -> active(nil) mark(cons(X1, X2)) -> active(cons(X1, X2)) mark(from(X)) -> active(from(X)) 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) if(mark(X1), X2, X3) -> if(X1, X2, X3) if(X1, mark(X2), X3) -> if(X1, X2, X3) if(X1, X2, mark(X3)) -> if(X1, X2, X3) if(active(X1), X2, X3) -> if(X1, X2, X3) if(X1, active(X2), X3) -> if(X1, X2, X3) if(X1, X2, active(X3)) -> if(X1, X2, X3) add(mark(X1), X2) -> add(X1, X2) add(X1, mark(X2)) -> add(X1, X2) add(active(X1), X2) -> add(X1, X2) add(X1, active(X2)) -> add(X1, X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) first(mark(X1), X2) -> first(X1, X2) first(X1, mark(X2)) -> first(X1, X2) first(active(X1), X2) -> first(X1, X2) first(X1, active(X2)) -> first(X1, 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) from(mark(X)) -> from(X) from(active(X)) -> from(X) 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(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_from(x_1)) -> from(encArg(x_1)) encode_active(x_1) -> active(encArg(x_1)) encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_true -> true encode_mark(x_1) -> mark(encArg(x_1)) encode_false -> false encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_s(x_1) -> s(encArg(x_1)) encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_from(x_1) -> from(encArg(x_1)) ---------------------------------------- (2) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(and(true, X)) -> mark(X) active(and(false, Y)) -> mark(false) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) active(add(0, X)) -> mark(X) active(add(s(X), Y)) -> mark(s(add(X, Y))) active(first(0, X)) -> mark(nil) active(first(s(X), cons(Y, Z))) -> mark(cons(Y, first(X, Z))) active(from(X)) -> mark(cons(X, from(s(X)))) mark(and(X1, X2)) -> active(and(mark(X1), X2)) mark(true) -> active(true) mark(false) -> active(false) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) mark(add(X1, X2)) -> active(add(mark(X1), X2)) mark(0) -> active(0) mark(s(X)) -> active(s(X)) mark(first(X1, X2)) -> active(first(mark(X1), mark(X2))) mark(nil) -> active(nil) mark(cons(X1, X2)) -> active(cons(X1, X2)) mark(from(X)) -> active(from(X)) 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) if(mark(X1), X2, X3) -> if(X1, X2, X3) if(X1, mark(X2), X3) -> if(X1, X2, X3) if(X1, X2, mark(X3)) -> if(X1, X2, X3) if(active(X1), X2, X3) -> if(X1, X2, X3) if(X1, active(X2), X3) -> if(X1, X2, X3) if(X1, X2, active(X3)) -> if(X1, X2, X3) add(mark(X1), X2) -> add(X1, X2) add(X1, mark(X2)) -> add(X1, X2) add(active(X1), X2) -> add(X1, X2) add(X1, active(X2)) -> add(X1, X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) first(mark(X1), X2) -> first(X1, X2) first(X1, mark(X2)) -> first(X1, X2) first(active(X1), X2) -> first(X1, X2) first(X1, active(X2)) -> first(X1, 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) from(mark(X)) -> from(X) from(active(X)) -> from(X) The (relative) TRS S consists of the following rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_from(x_1)) -> from(encArg(x_1)) encode_active(x_1) -> active(encArg(x_1)) encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_true -> true encode_mark(x_1) -> mark(encArg(x_1)) encode_false -> false encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_s(x_1) -> s(encArg(x_1)) encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_from(x_1) -> from(encArg(x_1)) Rewrite Strategy: INNERMOST ---------------------------------------- (3) SInnermostTerminationProof (BOTH CONCRETE BOUNDS(ID, ID)) proved innermost termination of relative rules ---------------------------------------- (4) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(and(true, X)) -> mark(X) active(and(false, Y)) -> mark(false) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) active(add(0, X)) -> mark(X) active(add(s(X), Y)) -> mark(s(add(X, Y))) active(first(0, X)) -> mark(nil) active(first(s(X), cons(Y, Z))) -> mark(cons(Y, first(X, Z))) active(from(X)) -> mark(cons(X, from(s(X)))) mark(and(X1, X2)) -> active(and(mark(X1), X2)) mark(true) -> active(true) mark(false) -> active(false) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) mark(add(X1, X2)) -> active(add(mark(X1), X2)) mark(0) -> active(0) mark(s(X)) -> active(s(X)) mark(first(X1, X2)) -> active(first(mark(X1), mark(X2))) mark(nil) -> active(nil) mark(cons(X1, X2)) -> active(cons(X1, X2)) mark(from(X)) -> active(from(X)) 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) if(mark(X1), X2, X3) -> if(X1, X2, X3) if(X1, mark(X2), X3) -> if(X1, X2, X3) if(X1, X2, mark(X3)) -> if(X1, X2, X3) if(active(X1), X2, X3) -> if(X1, X2, X3) if(X1, active(X2), X3) -> if(X1, X2, X3) if(X1, X2, active(X3)) -> if(X1, X2, X3) add(mark(X1), X2) -> add(X1, X2) add(X1, mark(X2)) -> add(X1, X2) add(active(X1), X2) -> add(X1, X2) add(X1, active(X2)) -> add(X1, X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) first(mark(X1), X2) -> first(X1, X2) first(X1, mark(X2)) -> first(X1, X2) first(active(X1), X2) -> first(X1, X2) first(X1, active(X2)) -> first(X1, 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) from(mark(X)) -> from(X) from(active(X)) -> from(X) The (relative) TRS S consists of the following rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_from(x_1)) -> from(encArg(x_1)) encode_active(x_1) -> active(encArg(x_1)) encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_true -> true encode_mark(x_1) -> mark(encArg(x_1)) encode_false -> false encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_s(x_1) -> s(encArg(x_1)) encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_from(x_1) -> from(encArg(x_1)) Rewrite Strategy: INNERMOST ---------------------------------------- (5) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (6) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(and(true, X)) -> mark(X) active(and(false, Y)) -> mark(false) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) active(add(0', X)) -> mark(X) active(add(s(X), Y)) -> mark(s(add(X, Y))) active(first(0', X)) -> mark(nil) active(first(s(X), cons(Y, Z))) -> mark(cons(Y, first(X, Z))) active(from(X)) -> mark(cons(X, from(s(X)))) mark(and(X1, X2)) -> active(and(mark(X1), X2)) mark(true) -> active(true) mark(false) -> active(false) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) mark(add(X1, X2)) -> active(add(mark(X1), X2)) mark(0') -> active(0') mark(s(X)) -> active(s(X)) mark(first(X1, X2)) -> active(first(mark(X1), mark(X2))) mark(nil) -> active(nil) mark(cons(X1, X2)) -> active(cons(X1, X2)) mark(from(X)) -> active(from(X)) 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) if(mark(X1), X2, X3) -> if(X1, X2, X3) if(X1, mark(X2), X3) -> if(X1, X2, X3) if(X1, X2, mark(X3)) -> if(X1, X2, X3) if(active(X1), X2, X3) -> if(X1, X2, X3) if(X1, active(X2), X3) -> if(X1, X2, X3) if(X1, X2, active(X3)) -> if(X1, X2, X3) add(mark(X1), X2) -> add(X1, X2) add(X1, mark(X2)) -> add(X1, X2) add(active(X1), X2) -> add(X1, X2) add(X1, active(X2)) -> add(X1, X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) first(mark(X1), X2) -> first(X1, X2) first(X1, mark(X2)) -> first(X1, X2) first(active(X1), X2) -> first(X1, X2) first(X1, active(X2)) -> first(X1, 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) from(mark(X)) -> from(X) from(active(X)) -> from(X) The (relative) TRS S consists of the following rules: encArg(true) -> true encArg(false) -> false encArg(0') -> 0' encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_from(x_1)) -> from(encArg(x_1)) encode_active(x_1) -> active(encArg(x_1)) encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_true -> true encode_mark(x_1) -> mark(encArg(x_1)) encode_false -> false encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_s(x_1) -> s(encArg(x_1)) encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_from(x_1) -> from(encArg(x_1)) Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (8) Obligation: Innermost TRS: Rules: active(and(true, X)) -> mark(X) active(and(false, Y)) -> mark(false) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) active(add(0', X)) -> mark(X) active(add(s(X), Y)) -> mark(s(add(X, Y))) active(first(0', X)) -> mark(nil) active(first(s(X), cons(Y, Z))) -> mark(cons(Y, first(X, Z))) active(from(X)) -> mark(cons(X, from(s(X)))) mark(and(X1, X2)) -> active(and(mark(X1), X2)) mark(true) -> active(true) mark(false) -> active(false) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) mark(add(X1, X2)) -> active(add(mark(X1), X2)) mark(0') -> active(0') mark(s(X)) -> active(s(X)) mark(first(X1, X2)) -> active(first(mark(X1), mark(X2))) mark(nil) -> active(nil) mark(cons(X1, X2)) -> active(cons(X1, X2)) mark(from(X)) -> active(from(X)) 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) if(mark(X1), X2, X3) -> if(X1, X2, X3) if(X1, mark(X2), X3) -> if(X1, X2, X3) if(X1, X2, mark(X3)) -> if(X1, X2, X3) if(active(X1), X2, X3) -> if(X1, X2, X3) if(X1, active(X2), X3) -> if(X1, X2, X3) if(X1, X2, active(X3)) -> if(X1, X2, X3) add(mark(X1), X2) -> add(X1, X2) add(X1, mark(X2)) -> add(X1, X2) add(active(X1), X2) -> add(X1, X2) add(X1, active(X2)) -> add(X1, X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) first(mark(X1), X2) -> first(X1, X2) first(X1, mark(X2)) -> first(X1, X2) first(active(X1), X2) -> first(X1, X2) first(X1, active(X2)) -> first(X1, 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) from(mark(X)) -> from(X) from(active(X)) -> from(X) encArg(true) -> true encArg(false) -> false encArg(0') -> 0' encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_from(x_1)) -> from(encArg(x_1)) encode_active(x_1) -> active(encArg(x_1)) encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_true -> true encode_mark(x_1) -> mark(encArg(x_1)) encode_false -> false encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_s(x_1) -> s(encArg(x_1)) encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_from(x_1) -> from(encArg(x_1)) Types: active :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from and :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from true :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from mark :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from false :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from if :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from add :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from 0' :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from s :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from first :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from nil :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from from :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encArg :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_active :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_mark :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_and :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_if :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_add :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_s :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_first :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_cons :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_from :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_active :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_and :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_true :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_mark :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_false :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_if :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_add :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_0 :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_s :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_first :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_nil :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_cons :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_from :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from hole_true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from1_4 :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from gen_true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from2_4 :: Nat -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from ---------------------------------------- (9) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: active, mark, s, add, cons, first, from, and, if, encArg They will be analysed ascendingly in the following order: active = mark s < active add < active cons < active first < active from < active active < encArg s < mark add < mark cons < mark first < mark from < mark and < mark if < mark mark < encArg s < encArg add < encArg cons < encArg first < encArg from < encArg and < encArg if < encArg ---------------------------------------- (10) Obligation: Innermost TRS: Rules: active(and(true, X)) -> mark(X) active(and(false, Y)) -> mark(false) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) active(add(0', X)) -> mark(X) active(add(s(X), Y)) -> mark(s(add(X, Y))) active(first(0', X)) -> mark(nil) active(first(s(X), cons(Y, Z))) -> mark(cons(Y, first(X, Z))) active(from(X)) -> mark(cons(X, from(s(X)))) mark(and(X1, X2)) -> active(and(mark(X1), X2)) mark(true) -> active(true) mark(false) -> active(false) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) mark(add(X1, X2)) -> active(add(mark(X1), X2)) mark(0') -> active(0') mark(s(X)) -> active(s(X)) mark(first(X1, X2)) -> active(first(mark(X1), mark(X2))) mark(nil) -> active(nil) mark(cons(X1, X2)) -> active(cons(X1, X2)) mark(from(X)) -> active(from(X)) 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) if(mark(X1), X2, X3) -> if(X1, X2, X3) if(X1, mark(X2), X3) -> if(X1, X2, X3) if(X1, X2, mark(X3)) -> if(X1, X2, X3) if(active(X1), X2, X3) -> if(X1, X2, X3) if(X1, active(X2), X3) -> if(X1, X2, X3) if(X1, X2, active(X3)) -> if(X1, X2, X3) add(mark(X1), X2) -> add(X1, X2) add(X1, mark(X2)) -> add(X1, X2) add(active(X1), X2) -> add(X1, X2) add(X1, active(X2)) -> add(X1, X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) first(mark(X1), X2) -> first(X1, X2) first(X1, mark(X2)) -> first(X1, X2) first(active(X1), X2) -> first(X1, X2) first(X1, active(X2)) -> first(X1, 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) from(mark(X)) -> from(X) from(active(X)) -> from(X) encArg(true) -> true encArg(false) -> false encArg(0') -> 0' encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_from(x_1)) -> from(encArg(x_1)) encode_active(x_1) -> active(encArg(x_1)) encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_true -> true encode_mark(x_1) -> mark(encArg(x_1)) encode_false -> false encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_s(x_1) -> s(encArg(x_1)) encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_from(x_1) -> from(encArg(x_1)) Types: active :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from and :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from true :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from mark :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from false :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from if :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from add :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from 0' :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from s :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from first :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from nil :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from from :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encArg :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_active :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_mark :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_and :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_if :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_add :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_s :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_first :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_cons :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_from :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_active :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_and :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_true :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_mark :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_false :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_if :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_add :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_0 :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_s :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_first :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_nil :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_cons :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_from :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from hole_true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from1_4 :: true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from gen_true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from2_4 :: Nat -> true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from Generator Equations: gen_true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from2_4(0) <=> true gen_true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from2_4(+(x, 1)) <=> cons_active(gen_true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from2_4(x)) The following defined symbols remain to be analysed: s, active, mark, add, cons, first, from, and, if, encArg They will be analysed ascendingly in the following order: active = mark s < active add < active cons < active first < active from < active active < encArg s < mark add < mark cons < mark first < mark from < mark and < mark if < mark mark < encArg s < encArg add < encArg cons < encArg first < encArg from < encArg and < encArg if < encArg ---------------------------------------- (11) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: encArg(gen_true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from2_4(+(1, n16767_4))) -> *3_4, rt in Omega(0) Induction Base: encArg(gen_true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from2_4(+(1, 0))) Induction Step: encArg(gen_true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from2_4(+(1, +(n16767_4, 1)))) ->_R^Omega(0) active(encArg(gen_true:false:0':nil:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from2_4(+(1, n16767_4)))) ->_IH active(*3_4) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (12) BOUNDS(1, INF) ---------------------------------------- (13) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (14) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(and(true, X)) -> mark(X) active(and(false, Y)) -> mark(false) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) active(add(0, X)) -> mark(X) active(add(s(X), Y)) -> mark(s(add(X, Y))) active(first(0, X)) -> mark(nil) active(first(s(X), cons(Y, Z))) -> mark(cons(Y, first(X, Z))) active(from(X)) -> mark(cons(X, from(s(X)))) mark(and(X1, X2)) -> active(and(mark(X1), X2)) mark(true) -> active(true) mark(false) -> active(false) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) mark(add(X1, X2)) -> active(add(mark(X1), X2)) mark(0) -> active(0) mark(s(X)) -> active(s(X)) mark(first(X1, X2)) -> active(first(mark(X1), mark(X2))) mark(nil) -> active(nil) mark(cons(X1, X2)) -> active(cons(X1, X2)) mark(from(X)) -> active(from(X)) 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) if(mark(X1), X2, X3) -> if(X1, X2, X3) if(X1, mark(X2), X3) -> if(X1, X2, X3) if(X1, X2, mark(X3)) -> if(X1, X2, X3) if(active(X1), X2, X3) -> if(X1, X2, X3) if(X1, active(X2), X3) -> if(X1, X2, X3) if(X1, X2, active(X3)) -> if(X1, X2, X3) add(mark(X1), X2) -> add(X1, X2) add(X1, mark(X2)) -> add(X1, X2) add(active(X1), X2) -> add(X1, X2) add(X1, active(X2)) -> add(X1, X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) first(mark(X1), X2) -> first(X1, X2) first(X1, mark(X2)) -> first(X1, X2) first(active(X1), X2) -> first(X1, X2) first(X1, active(X2)) -> first(X1, 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) from(mark(X)) -> from(X) from(active(X)) -> from(X) The (relative) TRS S consists of the following rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_from(x_1)) -> from(encArg(x_1)) encode_active(x_1) -> active(encArg(x_1)) encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_true -> true encode_mark(x_1) -> mark(encArg(x_1)) encode_false -> false encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_s(x_1) -> s(encArg(x_1)) encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_from(x_1) -> from(encArg(x_1)) Rewrite Strategy: INNERMOST ---------------------------------------- (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(and(true, X)) -> mark(X) active(and(false, Y)) -> mark(false) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) active(add(0, X)) -> mark(X) active(add(s(X), Y)) -> mark(s(add(X, Y))) active(first(0, X)) -> mark(nil) active(first(s(X), cons(Y, Z))) -> mark(cons(Y, first(X, Z))) active(from(X)) -> mark(cons(X, from(s(X)))) mark(and(X1, X2)) -> active(and(mark(X1), X2)) mark(true) -> active(true) mark(false) -> active(false) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) mark(add(X1, X2)) -> active(add(mark(X1), X2)) mark(0) -> active(0) mark(s(X)) -> active(s(X)) mark(first(X1, X2)) -> active(first(mark(X1), mark(X2))) mark(nil) -> active(nil) mark(cons(X1, X2)) -> active(cons(X1, X2)) mark(from(X)) -> active(from(X)) 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) if(mark(X1), X2, X3) -> if(X1, X2, X3) if(X1, mark(X2), X3) -> if(X1, X2, X3) if(X1, X2, mark(X3)) -> if(X1, X2, X3) if(active(X1), X2, X3) -> if(X1, X2, X3) if(X1, active(X2), X3) -> if(X1, X2, X3) if(X1, X2, active(X3)) -> if(X1, X2, X3) add(mark(X1), X2) -> add(X1, X2) add(X1, mark(X2)) -> add(X1, X2) add(active(X1), X2) -> add(X1, X2) add(X1, active(X2)) -> add(X1, X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) first(mark(X1), X2) -> first(X1, X2) first(X1, mark(X2)) -> first(X1, X2) first(active(X1), X2) -> first(X1, X2) first(X1, active(X2)) -> first(X1, 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) from(mark(X)) -> from(X) from(active(X)) -> from(X) encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_from(x_1)) -> from(encArg(x_1)) encode_active(x_1) -> active(encArg(x_1)) encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_true -> true encode_mark(x_1) -> mark(encArg(x_1)) encode_false -> false encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_s(x_1) -> s(encArg(x_1)) encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_from(x_1) -> from(encArg(x_1)) 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: mark(true) -> active(true) mark(false) -> active(false) mark(0) -> active(0) mark(nil) -> active(nil) add(c_active(X1), X2) -> add(X1, X2) from(c_mark(X)) -> from(X) mark(c_s(X)) -> active(s(X)) mark(c_cons(X1, X2)) -> active(cons(X1, X2)) first(c_active(X1), X2) -> first(X1, X2) if(c_mark(X1), X2, X3) -> if(X1, X2, X3) active(c_and(true, X)) -> mark(X) if(X1, c_active(X2), X3) -> if(X1, X2, X3) add(X1, c_mark(X2)) -> add(X1, X2) mark(c_first(X1, X2)) -> active(first(mark(X1), mark(X2))) active(c_if(true, X, Y)) -> mark(X) mark(c_add(X1, X2)) -> active(add(mark(X1), X2)) if(X1, X2, c_mark(X3)) -> if(X1, X2, X3) s(c_active(X)) -> s(X) cons(c_mark(X1), X2) -> cons(X1, X2) active(c_and(false, Y)) -> mark(false) first(X1, c_mark(X2)) -> first(X1, X2) mark(c_from(X)) -> active(from(X)) and(c_active(X1), X2) -> and(X1, X2) if(X1, X2, c_active(X3)) -> if(X1, X2, X3) cons(X1, c_active(X2)) -> cons(X1, X2) mark(c_and(X1, X2)) -> active(and(mark(X1), X2)) active(c_first(c_s(X), c_cons(Y, Z))) -> mark(cons(Y, first(X, Z))) cons(X1, c_mark(X2)) -> cons(X1, X2) first(X1, c_active(X2)) -> first(X1, X2) if(X1, c_mark(X2), X3) -> if(X1, X2, X3) add(c_mark(X1), X2) -> add(X1, X2) from(c_active(X)) -> from(X) add(X1, c_active(X2)) -> add(X1, X2) s(c_mark(X)) -> s(X) active(c_add(c_s(X), Y)) -> mark(s(add(X, Y))) mark(c_if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) first(c_mark(X1), X2) -> first(X1, X2) active(c_add(0, X)) -> mark(X) cons(c_active(X1), X2) -> cons(X1, X2) active(c_if(false, X, Y)) -> mark(Y) and(X1, c_mark(X2)) -> and(X1, X2) and(c_mark(X1), X2) -> and(X1, X2) active(c_from(X)) -> mark(cons(X, from(s(X)))) if(c_active(X1), X2, X3) -> if(X1, X2, X3) active(c_first(0, X)) -> mark(nil) and(X1, c_active(X2)) -> and(X1, X2) The (relative) TRS S consists of the following rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_from(x_1)) -> from(encArg(x_1)) encode_active(x_1) -> active(encArg(x_1)) encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_true -> true encode_mark(x_1) -> mark(encArg(x_1)) encode_false -> false encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_s(x_1) -> s(encArg(x_1)) encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_from(x_1) -> from(encArg(x_1)) s(x0) -> c_s(x0) active(x0) -> c_active(x0) add(x0, x1) -> c_add(x0, x1) if(x0, x1, x2) -> c_if(x0, x1, x2) cons(x0, x1) -> c_cons(x0, x1) and(x0, x1) -> c_and(x0, x1) first(x0, x1) -> c_first(x0, x1) from(x0) -> c_from(x0) 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: mark(true) -> active(true) [1] mark(false) -> active(false) [1] mark(0) -> active(0) [1] mark(nil) -> active(nil) [1] add(c_active(X1), X2) -> add(X1, X2) [1] from(c_mark(X)) -> from(X) [1] mark(c_s(X)) -> active(s(X)) [1] mark(c_cons(X1, X2)) -> active(cons(X1, X2)) [1] first(c_active(X1), X2) -> first(X1, X2) [1] if(c_mark(X1), X2, X3) -> if(X1, X2, X3) [1] active(c_and(true, X)) -> mark(X) [1] if(X1, c_active(X2), X3) -> if(X1, X2, X3) [1] add(X1, c_mark(X2)) -> add(X1, X2) [1] mark(c_first(X1, X2)) -> active(first(mark(X1), mark(X2))) [1] active(c_if(true, X, Y)) -> mark(X) [1] mark(c_add(X1, X2)) -> active(add(mark(X1), X2)) [1] if(X1, X2, c_mark(X3)) -> if(X1, X2, X3) [1] s(c_active(X)) -> s(X) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] active(c_and(false, Y)) -> mark(false) [1] first(X1, c_mark(X2)) -> first(X1, X2) [1] mark(c_from(X)) -> active(from(X)) [1] and(c_active(X1), X2) -> and(X1, X2) [1] if(X1, X2, c_active(X3)) -> if(X1, X2, X3) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] mark(c_and(X1, X2)) -> active(and(mark(X1), X2)) [1] active(c_first(c_s(X), c_cons(Y, Z))) -> mark(cons(Y, first(X, Z))) [1] cons(X1, c_mark(X2)) -> cons(X1, X2) [1] first(X1, c_active(X2)) -> first(X1, X2) [1] if(X1, c_mark(X2), X3) -> if(X1, X2, X3) [1] add(c_mark(X1), X2) -> add(X1, X2) [1] from(c_active(X)) -> from(X) [1] add(X1, c_active(X2)) -> add(X1, X2) [1] s(c_mark(X)) -> s(X) [1] active(c_add(c_s(X), Y)) -> mark(s(add(X, Y))) [1] mark(c_if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) [1] first(c_mark(X1), X2) -> first(X1, X2) [1] active(c_add(0, X)) -> mark(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] active(c_if(false, X, Y)) -> mark(Y) [1] and(X1, c_mark(X2)) -> and(X1, X2) [1] and(c_mark(X1), X2) -> and(X1, X2) [1] active(c_from(X)) -> mark(cons(X, from(s(X)))) [1] if(c_active(X1), X2, X3) -> if(X1, X2, X3) [1] active(c_first(0, X)) -> mark(nil) [1] and(X1, c_active(X2)) -> and(X1, X2) [1] encArg(true) -> true [0] encArg(false) -> false [0] encArg(0) -> 0 [0] encArg(nil) -> nil [0] encArg(cons_active(x_1)) -> active(encArg(x_1)) [0] encArg(cons_mark(x_1)) -> mark(encArg(x_1)) [0] encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_from(x_1)) -> from(encArg(x_1)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_false -> false [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) [0] encode_nil -> nil [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_from(x_1) -> from(encArg(x_1)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] add(x0, x1) -> c_add(x0, x1) [0] if(x0, x1, x2) -> c_if(x0, x1, x2) [0] cons(x0, x1) -> c_cons(x0, x1) [0] and(x0, x1) -> c_and(x0, x1) [0] first(x0, x1) -> c_first(x0, x1) [0] from(x0) -> c_from(x0) [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: mark(true) -> active(true) [1] mark(false) -> active(false) [1] mark(0) -> active(0) [1] mark(nil) -> active(nil) [1] add(c_active(X1), X2) -> add(X1, X2) [1] from(c_mark(X)) -> from(X) [1] mark(c_s(X)) -> active(s(X)) [1] mark(c_cons(X1, X2)) -> active(cons(X1, X2)) [1] first(c_active(X1), X2) -> first(X1, X2) [1] if(c_mark(X1), X2, X3) -> if(X1, X2, X3) [1] active(c_and(true, X)) -> mark(X) [1] if(X1, c_active(X2), X3) -> if(X1, X2, X3) [1] add(X1, c_mark(X2)) -> add(X1, X2) [1] mark(c_first(X1, X2)) -> active(first(mark(X1), mark(X2))) [1] active(c_if(true, X, Y)) -> mark(X) [1] mark(c_add(X1, X2)) -> active(add(mark(X1), X2)) [1] if(X1, X2, c_mark(X3)) -> if(X1, X2, X3) [1] s(c_active(X)) -> s(X) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] active(c_and(false, Y)) -> mark(false) [1] first(X1, c_mark(X2)) -> first(X1, X2) [1] mark(c_from(X)) -> active(from(X)) [1] and(c_active(X1), X2) -> and(X1, X2) [1] if(X1, X2, c_active(X3)) -> if(X1, X2, X3) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] mark(c_and(X1, X2)) -> active(and(mark(X1), X2)) [1] active(c_first(c_s(X), c_cons(Y, Z))) -> mark(cons(Y, first(X, Z))) [1] cons(X1, c_mark(X2)) -> cons(X1, X2) [1] first(X1, c_active(X2)) -> first(X1, X2) [1] if(X1, c_mark(X2), X3) -> if(X1, X2, X3) [1] add(c_mark(X1), X2) -> add(X1, X2) [1] from(c_active(X)) -> from(X) [1] add(X1, c_active(X2)) -> add(X1, X2) [1] s(c_mark(X)) -> s(X) [1] active(c_add(c_s(X), Y)) -> mark(s(add(X, Y))) [1] mark(c_if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) [1] first(c_mark(X1), X2) -> first(X1, X2) [1] active(c_add(0, X)) -> mark(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] active(c_if(false, X, Y)) -> mark(Y) [1] and(X1, c_mark(X2)) -> and(X1, X2) [1] and(c_mark(X1), X2) -> and(X1, X2) [1] active(c_from(X)) -> mark(cons(X, from(s(X)))) [1] if(c_active(X1), X2, X3) -> if(X1, X2, X3) [1] active(c_first(0, X)) -> mark(nil) [1] and(X1, c_active(X2)) -> and(X1, X2) [1] encArg(true) -> true [0] encArg(false) -> false [0] encArg(0) -> 0 [0] encArg(nil) -> nil [0] encArg(cons_active(x_1)) -> active(encArg(x_1)) [0] encArg(cons_mark(x_1)) -> mark(encArg(x_1)) [0] encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_from(x_1)) -> from(encArg(x_1)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_false -> false [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) [0] encode_nil -> nil [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_from(x_1) -> from(encArg(x_1)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] add(x0, x1) -> c_add(x0, x1) [0] if(x0, x1, x2) -> c_if(x0, x1, x2) [0] cons(x0, x1) -> c_cons(x0, x1) [0] and(x0, x1) -> c_and(x0, x1) [0] first(x0, x1) -> c_first(x0, x1) [0] from(x0) -> c_from(x0) [0] mark(x0) -> c_mark(x0) [0] The TRS has the following type information: mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from true :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from false :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from 0 :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from nil :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from c_active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from c_mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from c_s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from c_cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from c_and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from c_first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from c_if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from c_add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from c_from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encArg :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from cons_from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_true :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_false :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_0 :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_nil :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from encode_from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from 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_and_2 encode_true encode_mark_1 encode_false encode_if_3 encode_add_2 encode_0 encode_s_1 encode_first_2 encode_nil encode_cons_2 encode_from_1 s_1 active_1 add_2 if_3 cons_2 and_2 first_2 from_1 mark_1 Due to the following rules being added: encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_and(v0, v1) -> null_encode_and [0] encode_true -> null_encode_true [0] encode_mark(v0) -> null_encode_mark [0] encode_false -> null_encode_false [0] encode_if(v0, v1, v2) -> null_encode_if [0] encode_add(v0, v1) -> null_encode_add [0] encode_0 -> null_encode_0 [0] encode_s(v0) -> null_encode_s [0] encode_first(v0, v1) -> null_encode_first [0] encode_nil -> null_encode_nil [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_from(v0) -> null_encode_from [0] s(v0) -> null_s [0] active(v0) -> null_active [0] add(v0, v1) -> null_add [0] if(v0, v1, v2) -> null_if [0] cons(v0, v1) -> null_cons [0] and(v0, v1) -> null_and [0] first(v0, v1) -> null_first [0] from(v0) -> null_from [0] mark(v0) -> null_mark [0] And the following fresh constants: null_encArg, null_encode_active, null_encode_and, null_encode_true, null_encode_mark, null_encode_false, null_encode_if, null_encode_add, null_encode_0, null_encode_s, null_encode_first, null_encode_nil, null_encode_cons, null_encode_from, null_s, null_active, null_add, null_if, null_cons, null_and, null_first, null_from, 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: mark(true) -> active(true) [1] mark(false) -> active(false) [1] mark(0) -> active(0) [1] mark(nil) -> active(nil) [1] add(c_active(X1), X2) -> add(X1, X2) [1] from(c_mark(X)) -> from(X) [1] mark(c_s(X)) -> active(s(X)) [1] mark(c_cons(X1, X2)) -> active(cons(X1, X2)) [1] first(c_active(X1), X2) -> first(X1, X2) [1] if(c_mark(X1), X2, X3) -> if(X1, X2, X3) [1] active(c_and(true, X)) -> mark(X) [1] if(X1, c_active(X2), X3) -> if(X1, X2, X3) [1] add(X1, c_mark(X2)) -> add(X1, X2) [1] mark(c_first(X1, X2)) -> active(first(mark(X1), mark(X2))) [1] active(c_if(true, X, Y)) -> mark(X) [1] mark(c_add(X1, X2)) -> active(add(mark(X1), X2)) [1] if(X1, X2, c_mark(X3)) -> if(X1, X2, X3) [1] s(c_active(X)) -> s(X) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] active(c_and(false, Y)) -> mark(false) [1] first(X1, c_mark(X2)) -> first(X1, X2) [1] mark(c_from(X)) -> active(from(X)) [1] and(c_active(X1), X2) -> and(X1, X2) [1] if(X1, X2, c_active(X3)) -> if(X1, X2, X3) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] mark(c_and(X1, X2)) -> active(and(mark(X1), X2)) [1] active(c_first(c_s(X), c_cons(Y, Z))) -> mark(cons(Y, first(X, Z))) [1] cons(X1, c_mark(X2)) -> cons(X1, X2) [1] first(X1, c_active(X2)) -> first(X1, X2) [1] if(X1, c_mark(X2), X3) -> if(X1, X2, X3) [1] add(c_mark(X1), X2) -> add(X1, X2) [1] from(c_active(X)) -> from(X) [1] add(X1, c_active(X2)) -> add(X1, X2) [1] s(c_mark(X)) -> s(X) [1] active(c_add(c_s(X), Y)) -> mark(s(add(X, Y))) [1] mark(c_if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) [1] first(c_mark(X1), X2) -> first(X1, X2) [1] active(c_add(0, X)) -> mark(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] active(c_if(false, X, Y)) -> mark(Y) [1] and(X1, c_mark(X2)) -> and(X1, X2) [1] and(c_mark(X1), X2) -> and(X1, X2) [1] active(c_from(X)) -> mark(cons(X, from(s(X)))) [1] if(c_active(X1), X2, X3) -> if(X1, X2, X3) [1] active(c_first(0, X)) -> mark(nil) [1] and(X1, c_active(X2)) -> and(X1, X2) [1] encArg(true) -> true [0] encArg(false) -> false [0] encArg(0) -> 0 [0] encArg(nil) -> nil [0] encArg(cons_active(x_1)) -> active(encArg(x_1)) [0] encArg(cons_mark(x_1)) -> mark(encArg(x_1)) [0] encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_from(x_1)) -> from(encArg(x_1)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_false -> false [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) [0] encode_nil -> nil [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_from(x_1) -> from(encArg(x_1)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] add(x0, x1) -> c_add(x0, x1) [0] if(x0, x1, x2) -> c_if(x0, x1, x2) [0] cons(x0, x1) -> c_cons(x0, x1) [0] and(x0, x1) -> c_and(x0, x1) [0] first(x0, x1) -> c_first(x0, x1) [0] from(x0) -> c_from(x0) [0] mark(x0) -> c_mark(x0) [0] encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_and(v0, v1) -> null_encode_and [0] encode_true -> null_encode_true [0] encode_mark(v0) -> null_encode_mark [0] encode_false -> null_encode_false [0] encode_if(v0, v1, v2) -> null_encode_if [0] encode_add(v0, v1) -> null_encode_add [0] encode_0 -> null_encode_0 [0] encode_s(v0) -> null_encode_s [0] encode_first(v0, v1) -> null_encode_first [0] encode_nil -> null_encode_nil [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_from(v0) -> null_encode_from [0] s(v0) -> null_s [0] active(v0) -> null_active [0] add(v0, v1) -> null_add [0] if(v0, v1, v2) -> null_if [0] cons(v0, v1) -> null_cons [0] and(v0, v1) -> null_and [0] first(v0, v1) -> null_first [0] from(v0) -> null_from [0] mark(v0) -> null_mark [0] The TRS has the following type information: mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark true :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark false :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark 0 :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark nil :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encArg :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_true :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_false :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_0 :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_nil :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encArg :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_true :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_false :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_0 :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_nil :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from: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: mark(true) -> active(true) [1] mark(false) -> active(false) [1] mark(0) -> active(0) [1] mark(nil) -> active(nil) [1] add(c_active(X1), X2) -> add(X1, X2) [1] from(c_mark(X)) -> from(X) [1] mark(c_s(c_active(X'))) -> active(s(X')) [2] mark(c_s(c_mark(X''))) -> active(s(X'')) [2] mark(c_s(X)) -> active(c_s(X)) [1] mark(c_s(X)) -> active(null_s) [1] mark(c_cons(c_mark(X1'), X2)) -> active(cons(X1', X2)) [2] mark(c_cons(X1, c_active(X2'))) -> active(cons(X1, X2')) [2] mark(c_cons(X1, c_mark(X2''))) -> active(cons(X1, X2'')) [2] mark(c_cons(c_active(X1''), X2)) -> active(cons(X1'', X2)) [2] mark(c_cons(X1, X2)) -> active(c_cons(X1, X2)) [1] mark(c_cons(X1, X2)) -> active(null_cons) [1] first(c_active(X1), X2) -> first(X1, X2) [1] if(c_mark(X1), X2, X3) -> if(X1, X2, X3) [1] active(c_and(true, X)) -> mark(X) [1] if(X1, c_active(X2), X3) -> if(X1, X2, X3) [1] add(X1, c_mark(X2)) -> add(X1, X2) [1] mark(c_first(X1, X2)) -> active(first(mark(X1), mark(X2))) [1] active(c_if(true, X, Y)) -> mark(X) [1] mark(c_add(true, X2)) -> active(add(active(true), X2)) [2] mark(c_add(false, X2)) -> active(add(active(false), X2)) [2] mark(c_add(0, X2)) -> active(add(active(0), X2)) [2] mark(c_add(nil, X2)) -> active(add(active(nil), X2)) [2] mark(c_add(c_s(X54), X2)) -> active(add(active(s(X54)), X2)) [2] mark(c_add(c_cons(X171, X271), X2)) -> active(add(active(cons(X171, X271)), X2)) [2] mark(c_add(c_first(X172, X272), X2)) -> active(add(active(first(mark(X172), mark(X272))), X2)) [2] mark(c_add(c_add(X173, X273), X2)) -> active(add(active(add(mark(X173), X273)), X2)) [2] mark(c_add(c_from(X55), X2)) -> active(add(active(from(X55)), X2)) [2] mark(c_add(c_and(X174, X274), X2)) -> active(add(active(and(mark(X174), X274)), X2)) [2] mark(c_add(c_if(X175, X275, X318), X2)) -> active(add(active(if(mark(X175), X275, X318)), X2)) [2] mark(c_add(X1, X2)) -> active(add(c_mark(X1), X2)) [1] mark(c_add(X1, X2)) -> active(add(null_mark, X2)) [1] if(X1, X2, c_mark(X3)) -> if(X1, X2, X3) [1] s(c_active(X)) -> s(X) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] active(c_and(false, Y)) -> mark(false) [1] first(X1, c_mark(X2)) -> first(X1, X2) [1] mark(c_from(c_mark(X56))) -> active(from(X56)) [2] mark(c_from(c_active(X57))) -> active(from(X57)) [2] mark(c_from(X)) -> active(c_from(X)) [1] mark(c_from(X)) -> active(null_from) [1] and(c_active(X1), X2) -> and(X1, X2) [1] if(X1, X2, c_active(X3)) -> if(X1, X2, X3) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] mark(c_and(true, X2)) -> active(and(active(true), X2)) [2] mark(c_and(false, X2)) -> active(and(active(false), X2)) [2] mark(c_and(0, X2)) -> active(and(active(0), X2)) [2] mark(c_and(nil, X2)) -> active(and(active(nil), X2)) [2] mark(c_and(c_s(X58), X2)) -> active(and(active(s(X58)), X2)) [2] mark(c_and(c_cons(X176, X276), X2)) -> active(and(active(cons(X176, X276)), X2)) [2] mark(c_and(c_first(X177, X277), X2)) -> active(and(active(first(mark(X177), mark(X277))), X2)) [2] mark(c_and(c_add(X178, X278), X2)) -> active(and(active(add(mark(X178), X278)), X2)) [2] mark(c_and(c_from(X59), X2)) -> active(and(active(from(X59)), X2)) [2] mark(c_and(c_and(X179, X279), X2)) -> active(and(active(and(mark(X179), X279)), X2)) [2] mark(c_and(c_if(X180, X280, X319), X2)) -> active(and(active(if(mark(X180), X280, X319)), 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] active(c_first(c_s(c_active(X181)), c_cons(Y, Z))) -> mark(cons(Y, first(X181, Z))) [2] active(c_first(c_s(X), c_cons(Y, c_mark(X281)))) -> mark(cons(Y, first(X, X281))) [2] active(c_first(c_s(X), c_cons(Y, c_active(X282)))) -> mark(cons(Y, first(X, X282))) [2] active(c_first(c_s(c_mark(X182)), c_cons(Y, Z))) -> mark(cons(Y, first(X182, Z))) [2] active(c_first(c_s(X), c_cons(Y, Z))) -> mark(cons(Y, c_first(X, Z))) [1] active(c_first(c_s(X), c_cons(Y, Z))) -> mark(cons(Y, null_first)) [1] cons(X1, c_mark(X2)) -> cons(X1, X2) [1] first(X1, c_active(X2)) -> first(X1, X2) [1] if(X1, c_mark(X2), X3) -> if(X1, X2, X3) [1] add(c_mark(X1), X2) -> add(X1, X2) [1] from(c_active(X)) -> from(X) [1] add(X1, c_active(X2)) -> add(X1, X2) [1] s(c_mark(X)) -> s(X) [1] active(c_add(c_s(c_active(X183)), Y)) -> mark(s(add(X183, Y))) [2] active(c_add(c_s(X), c_mark(X283))) -> mark(s(add(X, X283))) [2] active(c_add(c_s(c_mark(X184)), Y)) -> mark(s(add(X184, Y))) [2] active(c_add(c_s(X), c_active(X284))) -> mark(s(add(X, X284))) [2] active(c_add(c_s(X), Y)) -> mark(s(c_add(X, Y))) [1] active(c_add(c_s(X), Y)) -> mark(s(null_add)) [1] mark(c_if(true, X2, X3)) -> active(if(active(true), X2, X3)) [2] mark(c_if(false, X2, X3)) -> active(if(active(false), X2, X3)) [2] mark(c_if(0, X2, X3)) -> active(if(active(0), X2, X3)) [2] mark(c_if(nil, X2, X3)) -> active(if(active(nil), X2, X3)) [2] mark(c_if(c_s(X60), X2, X3)) -> active(if(active(s(X60)), X2, X3)) [2] mark(c_if(c_cons(X185, X285), X2, X3)) -> active(if(active(cons(X185, X285)), X2, X3)) [2] mark(c_if(c_first(X186, X286), X2, X3)) -> active(if(active(first(mark(X186), mark(X286))), X2, X3)) [2] mark(c_if(c_add(X187, X287), X2, X3)) -> active(if(active(add(mark(X187), X287)), X2, X3)) [2] mark(c_if(c_from(X61), X2, X3)) -> active(if(active(from(X61)), X2, X3)) [2] mark(c_if(c_and(X188, X288), X2, X3)) -> active(if(active(and(mark(X188), X288)), X2, X3)) [2] mark(c_if(c_if(X189, X289, X320), X2, X3)) -> active(if(active(if(mark(X189), X289, X320)), X2, X3)) [2] mark(c_if(X1, X2, X3)) -> active(if(c_mark(X1), X2, X3)) [1] mark(c_if(X1, X2, X3)) -> active(if(null_mark, X2, X3)) [1] first(c_mark(X1), X2) -> first(X1, X2) [1] active(c_add(0, X)) -> mark(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] active(c_if(false, X, Y)) -> mark(Y) [1] and(X1, c_mark(X2)) -> and(X1, X2) [1] and(c_mark(X1), X2) -> and(X1, X2) [1] active(c_from(c_active(X62))) -> mark(cons(c_active(X62), from(s(X62)))) [2] active(c_from(c_mark(X63))) -> mark(cons(c_mark(X63), from(s(X63)))) [2] active(c_from(X)) -> mark(cons(X, from(c_s(X)))) [1] active(c_from(X)) -> mark(cons(X, from(null_s))) [1] if(c_active(X1), X2, X3) -> if(X1, X2, X3) [1] active(c_first(0, X)) -> mark(nil) [1] and(X1, c_active(X2)) -> and(X1, X2) [1] encArg(true) -> true [0] encArg(false) -> false [0] encArg(0) -> 0 [0] encArg(nil) -> nil [0] encArg(cons_active(true)) -> active(true) [0] encArg(cons_active(false)) -> active(false) [0] encArg(cons_active(0)) -> active(0) [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_and(x_11, x_2'))) -> active(and(encArg(x_11), encArg(x_2'))) [0] encArg(cons_active(cons_if(x_12, x_2'', x_3'))) -> active(if(encArg(x_12), encArg(x_2''), encArg(x_3'))) [0] encArg(cons_active(cons_add(x_13, x_21))) -> active(add(encArg(x_13), encArg(x_21))) [0] encArg(cons_active(cons_s(x_14))) -> active(s(encArg(x_14))) [0] encArg(cons_active(cons_first(x_15, x_22))) -> active(first(encArg(x_15), encArg(x_22))) [0] encArg(cons_active(cons_cons(x_16, x_23))) -> active(cons(encArg(x_16), encArg(x_23))) [0] encArg(cons_active(cons_from(x_17))) -> active(from(encArg(x_17))) [0] encArg(cons_active(x_1)) -> active(null_encArg) [0] encArg(cons_mark(true)) -> mark(true) [0] encArg(cons_mark(false)) -> mark(false) [0] encArg(cons_mark(0)) -> mark(0) [0] encArg(cons_mark(nil)) -> mark(nil) [0] encArg(cons_mark(cons_active(x_18))) -> mark(active(encArg(x_18))) [0] encArg(cons_mark(cons_mark(x_19))) -> mark(mark(encArg(x_19))) [0] encArg(cons_mark(cons_and(x_110, x_24))) -> mark(and(encArg(x_110), encArg(x_24))) [0] encArg(cons_mark(cons_if(x_111, x_25, x_3''))) -> mark(if(encArg(x_111), encArg(x_25), encArg(x_3''))) [0] encArg(cons_mark(cons_add(x_112, x_26))) -> mark(add(encArg(x_112), encArg(x_26))) [0] encArg(cons_mark(cons_s(x_113))) -> mark(s(encArg(x_113))) [0] encArg(cons_mark(cons_first(x_114, x_27))) -> mark(first(encArg(x_114), encArg(x_27))) [0] encArg(cons_mark(cons_cons(x_115, x_28))) -> mark(cons(encArg(x_115), encArg(x_28))) [0] encArg(cons_mark(cons_from(x_116))) -> mark(from(encArg(x_116))) [0] encArg(cons_mark(x_1)) -> mark(null_encArg) [0] encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) [0] encArg(cons_s(true)) -> s(true) [0] encArg(cons_s(false)) -> s(false) [0] encArg(cons_s(0)) -> s(0) [0] encArg(cons_s(nil)) -> s(nil) [0] encArg(cons_s(cons_active(x_12186))) -> s(active(encArg(x_12186))) [0] encArg(cons_s(cons_mark(x_12187))) -> s(mark(encArg(x_12187))) [0] encArg(cons_s(cons_and(x_12188, x_21214))) -> s(and(encArg(x_12188), encArg(x_21214))) [0] encArg(cons_s(cons_if(x_12189, x_21215, x_3242))) -> s(if(encArg(x_12189), encArg(x_21215), encArg(x_3242))) [0] encArg(cons_s(cons_add(x_12190, x_21216))) -> s(add(encArg(x_12190), encArg(x_21216))) [0] encArg(cons_s(cons_s(x_12191))) -> s(s(encArg(x_12191))) [0] encArg(cons_s(cons_first(x_12192, x_21217))) -> s(first(encArg(x_12192), encArg(x_21217))) [0] encArg(cons_s(cons_cons(x_12193, x_21218))) -> s(cons(encArg(x_12193), encArg(x_21218))) [0] encArg(cons_s(cons_from(x_12194))) -> s(from(encArg(x_12194))) [0] encArg(cons_s(x_1)) -> s(null_encArg) [0] encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_from(true)) -> from(true) [0] encArg(cons_from(false)) -> from(false) [0] encArg(cons_from(0)) -> from(0) [0] encArg(cons_from(nil)) -> from(nil) [0] encArg(cons_from(cons_active(x_12465))) -> from(active(encArg(x_12465))) [0] encArg(cons_from(cons_mark(x_12466))) -> from(mark(encArg(x_12466))) [0] encArg(cons_from(cons_and(x_12467, x_21369))) -> from(and(encArg(x_12467), encArg(x_21369))) [0] encArg(cons_from(cons_if(x_12468, x_21370, x_3273))) -> from(if(encArg(x_12468), encArg(x_21370), encArg(x_3273))) [0] encArg(cons_from(cons_add(x_12469, x_21371))) -> from(add(encArg(x_12469), encArg(x_21371))) [0] encArg(cons_from(cons_s(x_12470))) -> from(s(encArg(x_12470))) [0] encArg(cons_from(cons_first(x_12471, x_21372))) -> from(first(encArg(x_12471), encArg(x_21372))) [0] encArg(cons_from(cons_cons(x_12472, x_21373))) -> from(cons(encArg(x_12472), encArg(x_21373))) [0] encArg(cons_from(cons_from(x_12473))) -> from(from(encArg(x_12473))) [0] encArg(cons_from(x_1)) -> from(null_encArg) [0] encode_active(true) -> active(true) [0] encode_active(false) -> active(false) [0] encode_active(0) -> active(0) [0] encode_active(nil) -> active(nil) [0] encode_active(cons_active(x_12474)) -> active(active(encArg(x_12474))) [0] encode_active(cons_mark(x_12475)) -> active(mark(encArg(x_12475))) [0] encode_active(cons_and(x_12476, x_21374)) -> active(and(encArg(x_12476), encArg(x_21374))) [0] encode_active(cons_if(x_12477, x_21375, x_3274)) -> active(if(encArg(x_12477), encArg(x_21375), encArg(x_3274))) [0] encode_active(cons_add(x_12478, x_21376)) -> active(add(encArg(x_12478), encArg(x_21376))) [0] encode_active(cons_s(x_12479)) -> active(s(encArg(x_12479))) [0] encode_active(cons_first(x_12480, x_21377)) -> active(first(encArg(x_12480), encArg(x_21377))) [0] encode_active(cons_cons(x_12481, x_21378)) -> active(cons(encArg(x_12481), encArg(x_21378))) [0] encode_active(cons_from(x_12482)) -> active(from(encArg(x_12482))) [0] encode_active(x_1) -> active(null_encArg) [0] encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_mark(true) -> mark(true) [0] encode_mark(false) -> mark(false) [0] encode_mark(0) -> mark(0) [0] encode_mark(nil) -> mark(nil) [0] encode_mark(cons_active(x_12618)) -> mark(active(encArg(x_12618))) [0] encode_mark(cons_mark(x_12619)) -> mark(mark(encArg(x_12619))) [0] encode_mark(cons_and(x_12620, x_21454)) -> mark(and(encArg(x_12620), encArg(x_21454))) [0] encode_mark(cons_if(x_12621, x_21455, x_3290)) -> mark(if(encArg(x_12621), encArg(x_21455), encArg(x_3290))) [0] encode_mark(cons_add(x_12622, x_21456)) -> mark(add(encArg(x_12622), encArg(x_21456))) [0] encode_mark(cons_s(x_12623)) -> mark(s(encArg(x_12623))) [0] encode_mark(cons_first(x_12624, x_21457)) -> mark(first(encArg(x_12624), encArg(x_21457))) [0] encode_mark(cons_cons(x_12625, x_21458)) -> mark(cons(encArg(x_12625), encArg(x_21458))) [0] encode_mark(cons_from(x_12626)) -> mark(from(encArg(x_12626))) [0] encode_mark(x_1) -> mark(null_encArg) [0] encode_false -> false [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_s(true) -> s(true) [0] encode_s(false) -> s(false) [0] encode_s(0) -> s(0) [0] encode_s(nil) -> s(nil) [0] encode_s(cons_active(x_14661)) -> s(active(encArg(x_14661))) [0] encode_s(cons_mark(x_14662)) -> s(mark(encArg(x_14662))) [0] encode_s(cons_and(x_14663, x_22589)) -> s(and(encArg(x_14663), encArg(x_22589))) [0] encode_s(cons_if(x_14664, x_22590, x_3517)) -> s(if(encArg(x_14664), encArg(x_22590), encArg(x_3517))) [0] encode_s(cons_add(x_14665, x_22591)) -> s(add(encArg(x_14665), encArg(x_22591))) [0] encode_s(cons_s(x_14666)) -> s(s(encArg(x_14666))) [0] encode_s(cons_first(x_14667, x_22592)) -> s(first(encArg(x_14667), encArg(x_22592))) [0] encode_s(cons_cons(x_14668, x_22593)) -> s(cons(encArg(x_14668), encArg(x_22593))) [0] encode_s(cons_from(x_14669)) -> s(from(encArg(x_14669))) [0] encode_s(x_1) -> s(null_encArg) [0] encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) [0] encode_nil -> nil [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_from(true) -> from(true) [0] encode_from(false) -> from(false) [0] encode_from(0) -> from(0) [0] encode_from(nil) -> from(nil) [0] encode_from(cons_active(x_14940)) -> from(active(encArg(x_14940))) [0] encode_from(cons_mark(x_14941)) -> from(mark(encArg(x_14941))) [0] encode_from(cons_and(x_14942, x_22744)) -> from(and(encArg(x_14942), encArg(x_22744))) [0] encode_from(cons_if(x_14943, x_22745, x_3548)) -> from(if(encArg(x_14943), encArg(x_22745), encArg(x_3548))) [0] encode_from(cons_add(x_14944, x_22746)) -> from(add(encArg(x_14944), encArg(x_22746))) [0] encode_from(cons_s(x_14945)) -> from(s(encArg(x_14945))) [0] encode_from(cons_first(x_14946, x_22747)) -> from(first(encArg(x_14946), encArg(x_22747))) [0] encode_from(cons_cons(x_14947, x_22748)) -> from(cons(encArg(x_14947), encArg(x_22748))) [0] encode_from(cons_from(x_14948)) -> from(from(encArg(x_14948))) [0] encode_from(x_1) -> from(null_encArg) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] add(x0, x1) -> c_add(x0, x1) [0] if(x0, x1, x2) -> c_if(x0, x1, x2) [0] cons(x0, x1) -> c_cons(x0, x1) [0] and(x0, x1) -> c_and(x0, x1) [0] first(x0, x1) -> c_first(x0, x1) [0] from(x0) -> c_from(x0) [0] mark(x0) -> c_mark(x0) [0] encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_and(v0, v1) -> null_encode_and [0] encode_true -> null_encode_true [0] encode_mark(v0) -> null_encode_mark [0] encode_false -> null_encode_false [0] encode_if(v0, v1, v2) -> null_encode_if [0] encode_add(v0, v1) -> null_encode_add [0] encode_0 -> null_encode_0 [0] encode_s(v0) -> null_encode_s [0] encode_first(v0, v1) -> null_encode_first [0] encode_nil -> null_encode_nil [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_from(v0) -> null_encode_from [0] s(v0) -> null_s [0] active(v0) -> null_active [0] add(v0, v1) -> null_add [0] if(v0, v1, v2) -> null_if [0] cons(v0, v1) -> null_cons [0] and(v0, v1) -> null_and [0] first(v0, v1) -> null_first [0] from(v0) -> null_from [0] mark(v0) -> null_mark [0] The TRS has the following type information: mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark true :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark false :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark 0 :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark nil :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encArg :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_true :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_false :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_0 :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_nil :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encArg :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_true :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_false :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_0 :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_nil :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from: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: true => 3 false => 1 0 => 0 nil => 2 null_encArg => 0 null_encode_active => 0 null_encode_and => 0 null_encode_true => 0 null_encode_mark => 0 null_encode_false => 0 null_encode_if => 0 null_encode_add => 0 null_encode_0 => 0 null_encode_s => 0 null_encode_first => 0 null_encode_nil => 0 null_encode_cons => 0 null_encode_from => 0 null_s => 0 null_active => 0 null_add => 0 null_if => 0 null_cons => 0 null_and => 0 null_first => 0 null_from => 0 null_mark => 0 ---------------------------------------- (28) Obligation: Complexity RNTS consisting of the following rules: active(z) -{ 1 }-> mark(X) :|: X >= 0, z = 1 + 3 + X active(z) -{ 1 }-> mark(X) :|: z = 1 + 3 + X + Y, Y >= 0, X >= 0 active(z) -{ 1 }-> mark(X) :|: z = 1 + 0 + X, X >= 0 active(z) -{ 1 }-> mark(Y) :|: Y >= 0, z = 1 + 1 + X + Y, X >= 0 active(z) -{ 2 }-> mark(s(add(X, X283))) :|: X283 >= 0, X >= 0, z = 1 + (1 + X) + (1 + X283) active(z) -{ 2 }-> mark(s(add(X, X284))) :|: z = 1 + (1 + X) + (1 + X284), X >= 0, X284 >= 0 active(z) -{ 2 }-> mark(s(add(X183, Y))) :|: X183 >= 0, Y >= 0, z = 1 + (1 + (1 + X183)) + Y active(z) -{ 2 }-> mark(s(add(X184, Y))) :|: z = 1 + (1 + (1 + X184)) + Y, X184 >= 0, Y >= 0 active(z) -{ 1 }-> mark(s(0)) :|: z = 1 + (1 + X) + Y, Y >= 0, X >= 0 active(z) -{ 1 }-> mark(s(1 + X + Y)) :|: z = 1 + (1 + X) + Y, Y >= 0, X >= 0 active(z) -{ 1 }-> mark(cons(X, from(0))) :|: z = 1 + X, X >= 0 active(z) -{ 1 }-> mark(cons(X, from(1 + X))) :|: z = 1 + X, X >= 0 active(z) -{ 2 }-> mark(cons(Y, first(X, X281))) :|: Y >= 0, X >= 0, X281 >= 0, z = 1 + (1 + X) + (1 + Y + (1 + X281)) active(z) -{ 2 }-> mark(cons(Y, first(X, X282))) :|: X282 >= 0, Y >= 0, z = 1 + (1 + X) + (1 + Y + (1 + X282)), X >= 0 active(z) -{ 2 }-> mark(cons(Y, first(X181, Z))) :|: Z >= 0, z = 1 + (1 + (1 + X181)) + (1 + Y + Z), Y >= 0, X181 >= 0 active(z) -{ 2 }-> mark(cons(Y, first(X182, Z))) :|: Z >= 0, z = 1 + (1 + (1 + X182)) + (1 + Y + Z), Y >= 0, X182 >= 0 active(z) -{ 1 }-> mark(cons(Y, 0)) :|: Z >= 0, z = 1 + (1 + X) + (1 + Y + Z), Y >= 0, X >= 0 active(z) -{ 1 }-> mark(cons(Y, 1 + X + Z)) :|: Z >= 0, z = 1 + (1 + X) + (1 + Y + Z), Y >= 0, X >= 0 active(z) -{ 2 }-> mark(cons(1 + X62, from(s(X62)))) :|: X62 >= 0, z = 1 + (1 + X62) active(z) -{ 2 }-> mark(cons(1 + X63, from(s(X63)))) :|: z = 1 + (1 + X63), X63 >= 0 active(z) -{ 1 }-> mark(2) :|: z = 1 + 0 + X, X >= 0 active(z) -{ 1 }-> mark(1) :|: Y >= 0, z = 1 + 1 + Y active(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 active(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 add(z, z') -{ 1 }-> add(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 add(z, z') -{ 1 }-> add(X1, X2) :|: X1 >= 0, z' = 1 + X2, X2 >= 0, z = X1 add(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 add(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 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 }-> s(s(encArg(x_12191))) :|: z = 1 + (1 + x_12191), x_12191 >= 0 encArg(z) -{ 0 }-> s(mark(encArg(x_12187))) :|: z = 1 + (1 + x_12187), x_12187 >= 0 encArg(z) -{ 0 }-> s(if(encArg(x_12189), encArg(x_21215), encArg(x_3242))) :|: x_3242 >= 0, x_21215 >= 0, x_12189 >= 0, z = 1 + (1 + x_12189 + x_21215 + x_3242) encArg(z) -{ 0 }-> s(from(encArg(x_12194))) :|: x_12194 >= 0, z = 1 + (1 + x_12194) encArg(z) -{ 0 }-> s(first(encArg(x_12192), encArg(x_21217))) :|: x_12192 >= 0, z = 1 + (1 + x_12192 + x_21217), x_21217 >= 0 encArg(z) -{ 0 }-> s(cons(encArg(x_12193), encArg(x_21218))) :|: x_12193 >= 0, z = 1 + (1 + x_12193 + x_21218), x_21218 >= 0 encArg(z) -{ 0 }-> s(and(encArg(x_12188), encArg(x_21214))) :|: z = 1 + (1 + x_12188 + x_21214), x_21214 >= 0, x_12188 >= 0 encArg(z) -{ 0 }-> s(add(encArg(x_12190), encArg(x_21216))) :|: z = 1 + (1 + x_12190 + x_21216), x_21216 >= 0, x_12190 >= 0 encArg(z) -{ 0 }-> s(active(encArg(x_12186))) :|: x_12186 >= 0, z = 1 + (1 + x_12186) 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(s(encArg(x_113))) :|: x_113 >= 0, z = 1 + (1 + x_113) encArg(z) -{ 0 }-> mark(mark(encArg(x_19))) :|: z = 1 + (1 + x_19), x_19 >= 0 encArg(z) -{ 0 }-> mark(if(encArg(x_111), encArg(x_25), encArg(x_3''))) :|: z = 1 + (1 + x_111 + x_25 + x_3''), x_25 >= 0, x_3'' >= 0, x_111 >= 0 encArg(z) -{ 0 }-> mark(from(encArg(x_116))) :|: z = 1 + (1 + x_116), x_116 >= 0 encArg(z) -{ 0 }-> mark(first(encArg(x_114), encArg(x_27))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_27), x_27 >= 0 encArg(z) -{ 0 }-> mark(cons(encArg(x_115), encArg(x_28))) :|: x_115 >= 0, z = 1 + (1 + x_115 + x_28), x_28 >= 0 encArg(z) -{ 0 }-> mark(and(encArg(x_110), encArg(x_24))) :|: z = 1 + (1 + x_110 + x_24), x_24 >= 0, x_110 >= 0 encArg(z) -{ 0 }-> mark(add(encArg(x_112), encArg(x_26))) :|: x_26 >= 0, x_112 >= 0, z = 1 + (1 + x_112 + x_26) encArg(z) -{ 0 }-> mark(active(encArg(x_18))) :|: z = 1 + (1 + x_18), x_18 >= 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 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> from(s(encArg(x_12470))) :|: x_12470 >= 0, z = 1 + (1 + x_12470) encArg(z) -{ 0 }-> from(mark(encArg(x_12466))) :|: x_12466 >= 0, z = 1 + (1 + x_12466) encArg(z) -{ 0 }-> from(if(encArg(x_12468), encArg(x_21370), encArg(x_3273))) :|: x_21370 >= 0, x_3273 >= 0, x_12468 >= 0, z = 1 + (1 + x_12468 + x_21370 + x_3273) encArg(z) -{ 0 }-> from(from(encArg(x_12473))) :|: x_12473 >= 0, z = 1 + (1 + x_12473) encArg(z) -{ 0 }-> from(first(encArg(x_12471), encArg(x_21372))) :|: z = 1 + (1 + x_12471 + x_21372), x_21372 >= 0, x_12471 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_12472), encArg(x_21373))) :|: x_12472 >= 0, x_21373 >= 0, z = 1 + (1 + x_12472 + x_21373) encArg(z) -{ 0 }-> from(and(encArg(x_12467), encArg(x_21369))) :|: x_12467 >= 0, z = 1 + (1 + x_12467 + x_21369), x_21369 >= 0 encArg(z) -{ 0 }-> from(add(encArg(x_12469), encArg(x_21371))) :|: z = 1 + (1 + x_12469 + x_21371), x_12469 >= 0, x_21371 >= 0 encArg(z) -{ 0 }-> from(active(encArg(x_12465))) :|: z = 1 + (1 + x_12465), x_12465 >= 0 encArg(z) -{ 0 }-> from(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> from(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> from(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> from(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> from(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> first(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 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 }-> add(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 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(if(encArg(x_12), encArg(x_2''), encArg(x_3'))) :|: x_3' >= 0, x_2'' >= 0, x_12 >= 0, z = 1 + (1 + x_12 + x_2'' + x_3') encArg(z) -{ 0 }-> active(from(encArg(x_17))) :|: x_17 >= 0, z = 1 + (1 + x_17) encArg(z) -{ 0 }-> active(first(encArg(x_15), encArg(x_22))) :|: x_15 >= 0, z = 1 + (1 + x_15 + x_22), x_22 >= 0 encArg(z) -{ 0 }-> active(cons(encArg(x_16), encArg(x_23))) :|: z = 1 + (1 + x_16 + x_23), x_16 >= 0, x_23 >= 0 encArg(z) -{ 0 }-> active(and(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> active(add(encArg(x_13), encArg(x_21))) :|: x_13 >= 0, z = 1 + (1 + x_13 + x_21), x_21 >= 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(s(encArg(x_12479))) :|: z = 1 + x_12479, x_12479 >= 0 encode_active(z) -{ 0 }-> active(mark(encArg(x_12475))) :|: z = 1 + x_12475, x_12475 >= 0 encode_active(z) -{ 0 }-> active(if(encArg(x_12477), encArg(x_21375), encArg(x_3274))) :|: x_12477 >= 0, x_3274 >= 0, z = 1 + x_12477 + x_21375 + x_3274, x_21375 >= 0 encode_active(z) -{ 0 }-> active(from(encArg(x_12482))) :|: z = 1 + x_12482, x_12482 >= 0 encode_active(z) -{ 0 }-> active(first(encArg(x_12480), encArg(x_21377))) :|: x_12480 >= 0, z = 1 + x_12480 + x_21377, x_21377 >= 0 encode_active(z) -{ 0 }-> active(cons(encArg(x_12481), encArg(x_21378))) :|: x_21378 >= 0, x_12481 >= 0, z = 1 + x_12481 + x_21378 encode_active(z) -{ 0 }-> active(and(encArg(x_12476), encArg(x_21374))) :|: z = 1 + x_12476 + x_21374, x_21374 >= 0, x_12476 >= 0 encode_active(z) -{ 0 }-> active(add(encArg(x_12478), encArg(x_21376))) :|: z = 1 + x_12478 + x_21376, x_12478 >= 0, x_21376 >= 0 encode_active(z) -{ 0 }-> active(active(encArg(x_12474))) :|: z = 1 + x_12474, x_12474 >= 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) :|: x_1 >= 0, z = x_1 encode_active(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_add(z, z') -{ 0 }-> add(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_add(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 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_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_first(z, z') -{ 0 }-> first(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_first(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_from(z) -{ 0 }-> from(s(encArg(x_14945))) :|: z = 1 + x_14945, x_14945 >= 0 encode_from(z) -{ 0 }-> from(mark(encArg(x_14941))) :|: x_14941 >= 0, z = 1 + x_14941 encode_from(z) -{ 0 }-> from(if(encArg(x_14943), encArg(x_22745), encArg(x_3548))) :|: x_3548 >= 0, z = 1 + x_14943 + x_22745 + x_3548, x_14943 >= 0, x_22745 >= 0 encode_from(z) -{ 0 }-> from(from(encArg(x_14948))) :|: x_14948 >= 0, z = 1 + x_14948 encode_from(z) -{ 0 }-> from(first(encArg(x_14946), encArg(x_22747))) :|: x_22747 >= 0, x_14946 >= 0, z = 1 + x_14946 + x_22747 encode_from(z) -{ 0 }-> from(cons(encArg(x_14947), encArg(x_22748))) :|: x_22748 >= 0, x_14947 >= 0, z = 1 + x_14947 + x_22748 encode_from(z) -{ 0 }-> from(and(encArg(x_14942), encArg(x_22744))) :|: x_22744 >= 0, x_14942 >= 0, z = 1 + x_14942 + x_22744 encode_from(z) -{ 0 }-> from(add(encArg(x_14944), encArg(x_22746))) :|: z = 1 + x_14944 + x_22746, x_22746 >= 0, x_14944 >= 0 encode_from(z) -{ 0 }-> from(active(encArg(x_14940))) :|: x_14940 >= 0, z = 1 + x_14940 encode_from(z) -{ 0 }-> from(3) :|: z = 3 encode_from(z) -{ 0 }-> from(2) :|: z = 2 encode_from(z) -{ 0 }-> from(1) :|: z = 1 encode_from(z) -{ 0 }-> from(0) :|: z = 0 encode_from(z) -{ 0 }-> from(0) :|: x_1 >= 0, z = x_1 encode_from(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_if(z, z', z'') -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, x_3 >= 0, x_2 >= 0, z = x_1, z' = x_2, z'' = x_3 encode_if(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 encode_mark(z) -{ 0 }-> mark(s(encArg(x_12623))) :|: z = 1 + x_12623, x_12623 >= 0 encode_mark(z) -{ 0 }-> mark(mark(encArg(x_12619))) :|: z = 1 + x_12619, x_12619 >= 0 encode_mark(z) -{ 0 }-> mark(if(encArg(x_12621), encArg(x_21455), encArg(x_3290))) :|: z = 1 + x_12621 + x_21455 + x_3290, x_12621 >= 0, x_21455 >= 0, x_3290 >= 0 encode_mark(z) -{ 0 }-> mark(from(encArg(x_12626))) :|: x_12626 >= 0, z = 1 + x_12626 encode_mark(z) -{ 0 }-> mark(first(encArg(x_12624), encArg(x_21457))) :|: z = 1 + x_12624 + x_21457, x_21457 >= 0, x_12624 >= 0 encode_mark(z) -{ 0 }-> mark(cons(encArg(x_12625), encArg(x_21458))) :|: x_12625 >= 0, z = 1 + x_12625 + x_21458, x_21458 >= 0 encode_mark(z) -{ 0 }-> mark(and(encArg(x_12620), encArg(x_21454))) :|: z = 1 + x_12620 + x_21454, x_21454 >= 0, x_12620 >= 0 encode_mark(z) -{ 0 }-> mark(add(encArg(x_12622), encArg(x_21456))) :|: z = 1 + x_12622 + x_21456, x_21456 >= 0, x_12622 >= 0 encode_mark(z) -{ 0 }-> mark(active(encArg(x_12618))) :|: x_12618 >= 0, z = 1 + x_12618 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 }-> 2 :|: encode_nil -{ 0 }-> 0 :|: encode_s(z) -{ 0 }-> s(s(encArg(x_14666))) :|: z = 1 + x_14666, x_14666 >= 0 encode_s(z) -{ 0 }-> s(mark(encArg(x_14662))) :|: z = 1 + x_14662, x_14662 >= 0 encode_s(z) -{ 0 }-> s(if(encArg(x_14664), encArg(x_22590), encArg(x_3517))) :|: x_14664 >= 0, x_3517 >= 0, z = 1 + x_14664 + x_22590 + x_3517, x_22590 >= 0 encode_s(z) -{ 0 }-> s(from(encArg(x_14669))) :|: x_14669 >= 0, z = 1 + x_14669 encode_s(z) -{ 0 }-> s(first(encArg(x_14667), encArg(x_22592))) :|: x_22592 >= 0, z = 1 + x_14667 + x_22592, x_14667 >= 0 encode_s(z) -{ 0 }-> s(cons(encArg(x_14668), encArg(x_22593))) :|: x_14668 >= 0, z = 1 + x_14668 + x_22593, x_22593 >= 0 encode_s(z) -{ 0 }-> s(and(encArg(x_14663), encArg(x_22589))) :|: x_14663 >= 0, z = 1 + x_14663 + x_22589, x_22589 >= 0 encode_s(z) -{ 0 }-> s(add(encArg(x_14665), encArg(x_22591))) :|: x_22591 >= 0, x_14665 >= 0, z = 1 + x_14665 + x_22591 encode_s(z) -{ 0 }-> s(active(encArg(x_14661))) :|: z = 1 + x_14661, x_14661 >= 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) :|: x_1 >= 0, z = x_1 encode_s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_true -{ 0 }-> 3 :|: encode_true -{ 0 }-> 0 :|: first(z, z') -{ 1 }-> first(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 first(z, z') -{ 1 }-> first(X1, X2) :|: X1 >= 0, z' = 1 + X2, X2 >= 0, z = X1 first(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 first(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 from(z) -{ 1 }-> from(X) :|: z = 1 + X, X >= 0 from(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 from(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 if(z, z', z'') -{ 1 }-> if(X1, X2, X3) :|: X1 >= 0, z = 1 + X1, X3 >= 0, X2 >= 0, z' = X2, z'' = X3 if(z, z', z'') -{ 1 }-> if(X1, X2, X3) :|: X1 >= 0, X3 >= 0, z' = 1 + X2, X2 >= 0, z = X1, z'' = X3 if(z, z', z'') -{ 1 }-> if(X1, X2, X3) :|: X1 >= 0, X3 >= 0, X2 >= 0, z = X1, z' = X2, z'' = 1 + X3 if(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 if(z, z', z'') -{ 0 }-> 1 + x0 + x1 + x2 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1, z'' = x2, x2 >= 0 mark(z) -{ 2 }-> active(s(X')) :|: X' >= 0, z = 1 + (1 + X') mark(z) -{ 2 }-> active(s(X'')) :|: z = 1 + (1 + X''), X'' >= 0 mark(z) -{ 2 }-> active(if(active(s(X60)), X2, X3)) :|: X60 >= 0, X3 >= 0, X2 >= 0, z = 1 + (1 + X60) + X2 + X3 mark(z) -{ 2 }-> active(if(active(if(mark(X189), X289, X320)), X2, X3)) :|: z = 1 + (1 + X189 + X289 + X320) + X2 + X3, X189 >= 0, X320 >= 0, X3 >= 0, X289 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(from(X61)), X2, X3)) :|: z = 1 + (1 + X61) + X2 + X3, X61 >= 0, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(first(mark(X186), mark(X286))), X2, X3)) :|: X286 >= 0, X186 >= 0, X3 >= 0, z = 1 + (1 + X186 + X286) + X2 + X3, X2 >= 0 mark(z) -{ 2 }-> active(if(active(cons(X185, X285)), X2, X3)) :|: X285 >= 0, X185 >= 0, X3 >= 0, z = 1 + (1 + X185 + X285) + X2 + X3, X2 >= 0 mark(z) -{ 2 }-> active(if(active(and(mark(X188), X288)), X2, X3)) :|: z = 1 + (1 + X188 + X288) + X2 + X3, X288 >= 0, X3 >= 0, X188 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(add(mark(X187), X287)), X2, X3)) :|: X187 >= 0, z = 1 + (1 + X187 + X287) + X2 + X3, X3 >= 0, X287 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(3), X2, X3)) :|: z = 1 + 3 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(2), X2, X3)) :|: z = 1 + 2 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(1), X2, X3)) :|: z = 1 + 1 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(0), X2, X3)) :|: z = 1 + 0 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 1 }-> active(if(0, X2, X3)) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 1 }-> active(if(1 + X1, X2, X3)) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 2 }-> active(from(X56)) :|: X56 >= 0, z = 1 + (1 + X56) mark(z) -{ 2 }-> active(from(X57)) :|: X57 >= 0, z = 1 + (1 + X57) mark(z) -{ 1 }-> active(first(mark(X1), mark(X2))) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 2 }-> active(cons(X1, X2')) :|: X1 >= 0, X2' >= 0, z = 1 + X1 + (1 + X2') mark(z) -{ 2 }-> active(cons(X1, X2'')) :|: X1 >= 0, z = 1 + X1 + (1 + X2''), X2'' >= 0 mark(z) -{ 2 }-> active(cons(X1', X2)) :|: X1' >= 0, X2 >= 0, z = 1 + (1 + X1') + X2 mark(z) -{ 2 }-> active(cons(X1'', X2)) :|: X1'' >= 0, z = 1 + (1 + X1'') + X2, X2 >= 0 mark(z) -{ 2 }-> active(and(active(s(X58)), X2)) :|: z = 1 + (1 + X58) + X2, X58 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(and(active(if(mark(X180), X280, X319)), X2)) :|: X319 >= 0, z = 1 + (1 + X180 + X280 + X319) + X2, X280 >= 0, X2 >= 0, X180 >= 0 mark(z) -{ 2 }-> active(and(active(from(X59)), X2)) :|: z = 1 + (1 + X59) + X2, X59 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(and(active(first(mark(X177), mark(X277))), X2)) :|: X177 >= 0, z = 1 + (1 + X177 + X277) + X2, X2 >= 0, X277 >= 0 mark(z) -{ 2 }-> active(and(active(cons(X176, X276)), X2)) :|: X176 >= 0, X276 >= 0, z = 1 + (1 + X176 + X276) + X2, X2 >= 0 mark(z) -{ 2 }-> active(and(active(and(mark(X179), X279)), X2)) :|: z = 1 + (1 + X179 + X279) + X2, X279 >= 0, X2 >= 0, X179 >= 0 mark(z) -{ 2 }-> active(and(active(add(mark(X178), X278)), X2)) :|: z = 1 + (1 + X178 + X278) + X2, X2 >= 0, X178 >= 0, X278 >= 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) -{ 2 }-> active(add(active(s(X54)), X2)) :|: z = 1 + (1 + X54) + X2, X2 >= 0, X54 >= 0 mark(z) -{ 2 }-> active(add(active(if(mark(X175), X275, X318)), X2)) :|: z = 1 + (1 + X175 + X275 + X318) + X2, X275 >= 0, X175 >= 0, X318 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(add(active(from(X55)), X2)) :|: X2 >= 0, z = 1 + (1 + X55) + X2, X55 >= 0 mark(z) -{ 2 }-> active(add(active(first(mark(X172), mark(X272))), X2)) :|: z = 1 + (1 + X172 + X272) + X2, X172 >= 0, X272 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(add(active(cons(X171, X271)), X2)) :|: X271 >= 0, z = 1 + (1 + X171 + X271) + X2, X2 >= 0, X171 >= 0 mark(z) -{ 2 }-> active(add(active(and(mark(X174), X274)), X2)) :|: X174 >= 0, X274 >= 0, z = 1 + (1 + X174 + X274) + X2, X2 >= 0 mark(z) -{ 2 }-> active(add(active(add(mark(X173), X273)), X2)) :|: X173 >= 0, z = 1 + (1 + X173 + X273) + X2, X273 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(add(active(3), X2)) :|: X2 >= 0, z = 1 + 3 + X2 mark(z) -{ 2 }-> active(add(active(2), X2)) :|: z = 1 + 2 + X2, X2 >= 0 mark(z) -{ 2 }-> active(add(active(1), X2)) :|: z = 1 + 1 + X2, X2 >= 0 mark(z) -{ 2 }-> active(add(active(0), X2)) :|: z = 1 + 0 + X2, X2 >= 0 mark(z) -{ 1 }-> active(add(0, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(add(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) -{ 1 }-> active(0) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(0) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(1 + X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(1 + X1 + X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 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 ---------------------------------------- (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) -{ 1 }-> mark(X) :|: z = 1 + 3 + X + Y, Y >= 0, X >= 0 active(z) -{ 1 }-> mark(Y) :|: Y >= 0, z = 1 + 1 + X + Y, X >= 0 active(z) -{ 2 }-> mark(s(add(X, X283))) :|: X283 >= 0, X >= 0, z = 1 + (1 + X) + (1 + X283) active(z) -{ 2 }-> mark(s(add(X, X284))) :|: z = 1 + (1 + X) + (1 + X284), X >= 0, X284 >= 0 active(z) -{ 2 }-> mark(s(add(X183, Y))) :|: X183 >= 0, Y >= 0, z = 1 + (1 + (1 + X183)) + Y active(z) -{ 2 }-> mark(s(add(X184, Y))) :|: z = 1 + (1 + (1 + X184)) + Y, X184 >= 0, Y >= 0 active(z) -{ 1 }-> mark(s(0)) :|: z = 1 + (1 + X) + Y, Y >= 0, X >= 0 active(z) -{ 1 }-> mark(s(1 + X + Y)) :|: z = 1 + (1 + X) + Y, Y >= 0, X >= 0 active(z) -{ 2 }-> mark(cons(Y, first(X, X281))) :|: Y >= 0, X >= 0, X281 >= 0, z = 1 + (1 + X) + (1 + Y + (1 + X281)) active(z) -{ 2 }-> mark(cons(Y, first(X, X282))) :|: X282 >= 0, Y >= 0, z = 1 + (1 + X) + (1 + Y + (1 + X282)), X >= 0 active(z) -{ 2 }-> mark(cons(Y, first(X181, Z))) :|: Z >= 0, z = 1 + (1 + (1 + X181)) + (1 + Y + Z), Y >= 0, X181 >= 0 active(z) -{ 2 }-> mark(cons(Y, first(X182, Z))) :|: Z >= 0, z = 1 + (1 + (1 + X182)) + (1 + Y + Z), Y >= 0, X182 >= 0 active(z) -{ 1 }-> mark(cons(Y, 0)) :|: Z >= 0, z = 1 + (1 + X) + (1 + Y + Z), Y >= 0, X >= 0 active(z) -{ 1 }-> mark(cons(Y, 1 + X + Z)) :|: Z >= 0, z = 1 + (1 + X) + (1 + Y + Z), Y >= 0, X >= 0 active(z) -{ 1 }-> mark(cons(z - 1, from(0))) :|: z - 1 >= 0 active(z) -{ 1 }-> mark(cons(z - 1, from(1 + (z - 1)))) :|: z - 1 >= 0 active(z) -{ 2 }-> mark(cons(1 + (z - 2), from(s(z - 2)))) :|: z - 2 >= 0 active(z) -{ 1 }-> mark(2) :|: z - 1 >= 0 active(z) -{ 1 }-> mark(1) :|: z - 2 >= 0 active(z) -{ 1 }-> mark(z - 4) :|: z - 4 >= 0 active(z) -{ 1 }-> mark(z - 1) :|: z - 1 >= 0 active(z) -{ 0 }-> 0 :|: z >= 0 active(z) -{ 0 }-> 1 + z :|: z >= 0 add(z, z') -{ 1 }-> add(z, z' - 1) :|: z >= 0, z' - 1 >= 0 add(z, z') -{ 1 }-> add(z - 1, z') :|: z - 1 >= 0, z' >= 0 add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 add(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, 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 }-> s(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(if(encArg(x_12189), encArg(x_21215), encArg(x_3242))) :|: x_3242 >= 0, x_21215 >= 0, x_12189 >= 0, z = 1 + (1 + x_12189 + x_21215 + x_3242) encArg(z) -{ 0 }-> s(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(first(encArg(x_12192), encArg(x_21217))) :|: x_12192 >= 0, z = 1 + (1 + x_12192 + x_21217), x_21217 >= 0 encArg(z) -{ 0 }-> s(cons(encArg(x_12193), encArg(x_21218))) :|: x_12193 >= 0, z = 1 + (1 + x_12193 + x_21218), x_21218 >= 0 encArg(z) -{ 0 }-> s(and(encArg(x_12188), encArg(x_21214))) :|: z = 1 + (1 + x_12188 + x_21214), x_21214 >= 0, x_12188 >= 0 encArg(z) -{ 0 }-> s(add(encArg(x_12190), encArg(x_21216))) :|: z = 1 + (1 + x_12190 + x_21216), x_21216 >= 0, x_12190 >= 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(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(if(encArg(x_111), encArg(x_25), encArg(x_3''))) :|: z = 1 + (1 + x_111 + x_25 + x_3''), x_25 >= 0, x_3'' >= 0, x_111 >= 0 encArg(z) -{ 0 }-> mark(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(first(encArg(x_114), encArg(x_27))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_27), x_27 >= 0 encArg(z) -{ 0 }-> mark(cons(encArg(x_115), encArg(x_28))) :|: x_115 >= 0, z = 1 + (1 + x_115 + x_28), x_28 >= 0 encArg(z) -{ 0 }-> mark(and(encArg(x_110), encArg(x_24))) :|: z = 1 + (1 + x_110 + x_24), x_24 >= 0, x_110 >= 0 encArg(z) -{ 0 }-> mark(add(encArg(x_112), encArg(x_26))) :|: x_26 >= 0, x_112 >= 0, z = 1 + (1 + x_112 + x_26) 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 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> from(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(if(encArg(x_12468), encArg(x_21370), encArg(x_3273))) :|: x_21370 >= 0, x_3273 >= 0, x_12468 >= 0, z = 1 + (1 + x_12468 + x_21370 + x_3273) encArg(z) -{ 0 }-> from(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(first(encArg(x_12471), encArg(x_21372))) :|: z = 1 + (1 + x_12471 + x_21372), x_21372 >= 0, x_12471 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_12472), encArg(x_21373))) :|: x_12472 >= 0, x_21373 >= 0, z = 1 + (1 + x_12472 + x_21373) encArg(z) -{ 0 }-> from(and(encArg(x_12467), encArg(x_21369))) :|: x_12467 >= 0, z = 1 + (1 + x_12467 + x_21369), x_21369 >= 0 encArg(z) -{ 0 }-> from(add(encArg(x_12469), encArg(x_21371))) :|: z = 1 + (1 + x_12469 + x_21371), x_12469 >= 0, x_21371 >= 0 encArg(z) -{ 0 }-> from(active(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> from(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> from(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> from(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> from(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> first(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 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 }-> add(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 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(if(encArg(x_12), encArg(x_2''), encArg(x_3'))) :|: x_3' >= 0, x_2'' >= 0, x_12 >= 0, z = 1 + (1 + x_12 + x_2'' + x_3') encArg(z) -{ 0 }-> active(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> active(first(encArg(x_15), encArg(x_22))) :|: x_15 >= 0, z = 1 + (1 + x_15 + x_22), x_22 >= 0 encArg(z) -{ 0 }-> active(cons(encArg(x_16), encArg(x_23))) :|: z = 1 + (1 + x_16 + x_23), x_16 >= 0, x_23 >= 0 encArg(z) -{ 0 }-> active(and(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> active(add(encArg(x_13), encArg(x_21))) :|: x_13 >= 0, z = 1 + (1 + x_13 + x_21), x_21 >= 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(s(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(if(encArg(x_12477), encArg(x_21375), encArg(x_3274))) :|: x_12477 >= 0, x_3274 >= 0, z = 1 + x_12477 + x_21375 + x_3274, x_21375 >= 0 encode_active(z) -{ 0 }-> active(from(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(first(encArg(x_12480), encArg(x_21377))) :|: x_12480 >= 0, z = 1 + x_12480 + x_21377, x_21377 >= 0 encode_active(z) -{ 0 }-> active(cons(encArg(x_12481), encArg(x_21378))) :|: x_21378 >= 0, x_12481 >= 0, z = 1 + x_12481 + x_21378 encode_active(z) -{ 0 }-> active(and(encArg(x_12476), encArg(x_21374))) :|: z = 1 + x_12476 + x_21374, x_21374 >= 0, x_12476 >= 0 encode_active(z) -{ 0 }-> active(add(encArg(x_12478), encArg(x_21376))) :|: z = 1 + x_12478 + x_21376, x_12478 >= 0, x_21376 >= 0 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_add(z, z') -{ 0 }-> add(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_add(z, z') -{ 0 }-> 0 :|: z >= 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_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_first(z, z') -{ 0 }-> first(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_first(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 0 }-> from(s(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(if(encArg(x_14943), encArg(x_22745), encArg(x_3548))) :|: x_3548 >= 0, z = 1 + x_14943 + x_22745 + x_3548, x_14943 >= 0, x_22745 >= 0 encode_from(z) -{ 0 }-> from(from(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(first(encArg(x_14946), encArg(x_22747))) :|: x_22747 >= 0, x_14946 >= 0, z = 1 + x_14946 + x_22747 encode_from(z) -{ 0 }-> from(cons(encArg(x_14947), encArg(x_22748))) :|: x_22748 >= 0, x_14947 >= 0, z = 1 + x_14947 + x_22748 encode_from(z) -{ 0 }-> from(and(encArg(x_14942), encArg(x_22744))) :|: x_22744 >= 0, x_14942 >= 0, z = 1 + x_14942 + x_22744 encode_from(z) -{ 0 }-> from(add(encArg(x_14944), encArg(x_22746))) :|: z = 1 + x_14944 + x_22746, x_22746 >= 0, x_14944 >= 0 encode_from(z) -{ 0 }-> from(active(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(3) :|: z = 3 encode_from(z) -{ 0 }-> from(2) :|: z = 2 encode_from(z) -{ 0 }-> from(1) :|: z = 1 encode_from(z) -{ 0 }-> from(0) :|: z = 0 encode_from(z) -{ 0 }-> from(0) :|: z >= 0 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 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(if(encArg(x_12621), encArg(x_21455), encArg(x_3290))) :|: z = 1 + x_12621 + x_21455 + x_3290, x_12621 >= 0, x_21455 >= 0, x_3290 >= 0 encode_mark(z) -{ 0 }-> mark(from(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(first(encArg(x_12624), encArg(x_21457))) :|: z = 1 + x_12624 + x_21457, x_21457 >= 0, x_12624 >= 0 encode_mark(z) -{ 0 }-> mark(cons(encArg(x_12625), encArg(x_21458))) :|: x_12625 >= 0, z = 1 + x_12625 + x_21458, x_21458 >= 0 encode_mark(z) -{ 0 }-> mark(and(encArg(x_12620), encArg(x_21454))) :|: z = 1 + x_12620 + x_21454, x_21454 >= 0, x_12620 >= 0 encode_mark(z) -{ 0 }-> mark(add(encArg(x_12622), encArg(x_21456))) :|: z = 1 + x_12622 + x_21456, x_21456 >= 0, x_12622 >= 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 }-> 2 :|: encode_nil -{ 0 }-> 0 :|: 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(if(encArg(x_14664), encArg(x_22590), encArg(x_3517))) :|: x_14664 >= 0, x_3517 >= 0, z = 1 + x_14664 + x_22590 + x_3517, x_22590 >= 0 encode_s(z) -{ 0 }-> s(from(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(first(encArg(x_14667), encArg(x_22592))) :|: x_22592 >= 0, z = 1 + x_14667 + x_22592, x_14667 >= 0 encode_s(z) -{ 0 }-> s(cons(encArg(x_14668), encArg(x_22593))) :|: x_14668 >= 0, z = 1 + x_14668 + x_22593, x_22593 >= 0 encode_s(z) -{ 0 }-> s(and(encArg(x_14663), encArg(x_22589))) :|: x_14663 >= 0, z = 1 + x_14663 + x_22589, x_22589 >= 0 encode_s(z) -{ 0 }-> s(add(encArg(x_14665), encArg(x_22591))) :|: x_22591 >= 0, x_14665 >= 0, z = 1 + x_14665 + x_22591 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_true -{ 0 }-> 3 :|: encode_true -{ 0 }-> 0 :|: first(z, z') -{ 1 }-> first(z, z' - 1) :|: z >= 0, z' - 1 >= 0 first(z, z') -{ 1 }-> first(z - 1, z') :|: z - 1 >= 0, z' >= 0 first(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 first(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 from(z) -{ 1 }-> from(z - 1) :|: z - 1 >= 0 from(z) -{ 0 }-> 0 :|: z >= 0 from(z) -{ 0 }-> 1 + z :|: z >= 0 if(z, z', z'') -{ 1 }-> if(z, z', z'' - 1) :|: z >= 0, z'' - 1 >= 0, z' >= 0 if(z, z', z'') -{ 1 }-> if(z, z' - 1, z'') :|: z >= 0, z'' >= 0, z' - 1 >= 0 if(z, z', z'') -{ 1 }-> if(z - 1, z', z'') :|: z - 1 >= 0, z'' >= 0, z' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 1 + z + z' + z'' :|: z >= 0, z' >= 0, z'' >= 0 mark(z) -{ 2 }-> active(s(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(if(active(s(X60)), X2, X3)) :|: X60 >= 0, X3 >= 0, X2 >= 0, z = 1 + (1 + X60) + X2 + X3 mark(z) -{ 2 }-> active(if(active(if(mark(X189), X289, X320)), X2, X3)) :|: z = 1 + (1 + X189 + X289 + X320) + X2 + X3, X189 >= 0, X320 >= 0, X3 >= 0, X289 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(from(X61)), X2, X3)) :|: z = 1 + (1 + X61) + X2 + X3, X61 >= 0, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(first(mark(X186), mark(X286))), X2, X3)) :|: X286 >= 0, X186 >= 0, X3 >= 0, z = 1 + (1 + X186 + X286) + X2 + X3, X2 >= 0 mark(z) -{ 2 }-> active(if(active(cons(X185, X285)), X2, X3)) :|: X285 >= 0, X185 >= 0, X3 >= 0, z = 1 + (1 + X185 + X285) + X2 + X3, X2 >= 0 mark(z) -{ 2 }-> active(if(active(and(mark(X188), X288)), X2, X3)) :|: z = 1 + (1 + X188 + X288) + X2 + X3, X288 >= 0, X3 >= 0, X188 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(add(mark(X187), X287)), X2, X3)) :|: X187 >= 0, z = 1 + (1 + X187 + X287) + X2 + X3, X3 >= 0, X287 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(3), X2, X3)) :|: z = 1 + 3 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(2), X2, X3)) :|: z = 1 + 2 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(1), X2, X3)) :|: z = 1 + 1 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(0), X2, X3)) :|: z = 1 + 0 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 1 }-> active(if(0, X2, X3)) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 1 }-> active(if(1 + X1, X2, X3)) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 2 }-> active(from(z - 2)) :|: z - 2 >= 0 mark(z) -{ 1 }-> active(first(mark(X1), mark(X2))) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 2 }-> active(cons(X1, X2')) :|: X1 >= 0, X2' >= 0, z = 1 + X1 + (1 + X2') mark(z) -{ 2 }-> active(cons(X1, X2'')) :|: X1 >= 0, z = 1 + X1 + (1 + X2''), X2'' >= 0 mark(z) -{ 2 }-> active(cons(X1', X2)) :|: X1' >= 0, X2 >= 0, z = 1 + (1 + X1') + X2 mark(z) -{ 2 }-> active(cons(X1'', X2)) :|: X1'' >= 0, z = 1 + (1 + X1'') + X2, X2 >= 0 mark(z) -{ 2 }-> active(and(active(s(X58)), X2)) :|: z = 1 + (1 + X58) + X2, X58 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(and(active(if(mark(X180), X280, X319)), X2)) :|: X319 >= 0, z = 1 + (1 + X180 + X280 + X319) + X2, X280 >= 0, X2 >= 0, X180 >= 0 mark(z) -{ 2 }-> active(and(active(from(X59)), X2)) :|: z = 1 + (1 + X59) + X2, X59 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(and(active(first(mark(X177), mark(X277))), X2)) :|: X177 >= 0, z = 1 + (1 + X177 + X277) + X2, X2 >= 0, X277 >= 0 mark(z) -{ 2 }-> active(and(active(cons(X176, X276)), X2)) :|: X176 >= 0, X276 >= 0, z = 1 + (1 + X176 + X276) + X2, X2 >= 0 mark(z) -{ 2 }-> active(and(active(and(mark(X179), X279)), X2)) :|: z = 1 + (1 + X179 + X279) + X2, X279 >= 0, X2 >= 0, X179 >= 0 mark(z) -{ 2 }-> active(and(active(add(mark(X178), X278)), X2)) :|: z = 1 + (1 + X178 + X278) + X2, X2 >= 0, X178 >= 0, X278 >= 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) -{ 2 }-> active(add(active(s(X54)), X2)) :|: z = 1 + (1 + X54) + X2, X2 >= 0, X54 >= 0 mark(z) -{ 2 }-> active(add(active(if(mark(X175), X275, X318)), X2)) :|: z = 1 + (1 + X175 + X275 + X318) + X2, X275 >= 0, X175 >= 0, X318 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(add(active(from(X55)), X2)) :|: X2 >= 0, z = 1 + (1 + X55) + X2, X55 >= 0 mark(z) -{ 2 }-> active(add(active(first(mark(X172), mark(X272))), X2)) :|: z = 1 + (1 + X172 + X272) + X2, X172 >= 0, X272 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(add(active(cons(X171, X271)), X2)) :|: X271 >= 0, z = 1 + (1 + X171 + X271) + X2, X2 >= 0, X171 >= 0 mark(z) -{ 2 }-> active(add(active(and(mark(X174), X274)), X2)) :|: X174 >= 0, X274 >= 0, z = 1 + (1 + X174 + X274) + X2, X2 >= 0 mark(z) -{ 2 }-> active(add(active(add(mark(X173), X273)), X2)) :|: X173 >= 0, z = 1 + (1 + X173 + X273) + X2, X273 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(add(active(3), z - 4)) :|: z - 4 >= 0 mark(z) -{ 2 }-> active(add(active(2), z - 3)) :|: z - 3 >= 0 mark(z) -{ 2 }-> active(add(active(1), z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(add(active(0), z - 1)) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(add(0, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(add(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) -{ 1 }-> active(0) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(0) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(1 + (z - 1)) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(1 + X1 + X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 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 ---------------------------------------- (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_and(v0, v1) -> null_encode_and [0] encode_true -> null_encode_true [0] encode_mark(v0) -> null_encode_mark [0] encode_false -> null_encode_false [0] encode_if(v0, v1, v2) -> null_encode_if [0] encode_add(v0, v1) -> null_encode_add [0] encode_0 -> null_encode_0 [0] encode_s(v0) -> null_encode_s [0] encode_first(v0, v1) -> null_encode_first [0] encode_nil -> null_encode_nil [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_from(v0) -> null_encode_from [0] s(v0) -> null_s [0] active(v0) -> null_active [0] add(v0, v1) -> null_add [0] if(v0, v1, v2) -> null_if [0] cons(v0, v1) -> null_cons [0] and(v0, v1) -> null_and [0] first(v0, v1) -> null_first [0] from(v0) -> null_from [0] mark(v0) -> null_mark [0] And the following fresh constants: null_encArg, null_encode_active, null_encode_and, null_encode_true, null_encode_mark, null_encode_false, null_encode_if, null_encode_add, null_encode_0, null_encode_s, null_encode_first, null_encode_nil, null_encode_cons, null_encode_from, null_s, null_active, null_add, null_if, null_cons, null_and, null_first, null_from, 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: mark(true) -> active(true) [1] mark(false) -> active(false) [1] mark(0) -> active(0) [1] mark(nil) -> active(nil) [1] add(c_active(X1), X2) -> add(X1, X2) [1] from(c_mark(X)) -> from(X) [1] mark(c_s(X)) -> active(s(X)) [1] mark(c_cons(X1, X2)) -> active(cons(X1, X2)) [1] first(c_active(X1), X2) -> first(X1, X2) [1] if(c_mark(X1), X2, X3) -> if(X1, X2, X3) [1] active(c_and(true, X)) -> mark(X) [1] if(X1, c_active(X2), X3) -> if(X1, X2, X3) [1] add(X1, c_mark(X2)) -> add(X1, X2) [1] mark(c_first(X1, X2)) -> active(first(mark(X1), mark(X2))) [1] active(c_if(true, X, Y)) -> mark(X) [1] mark(c_add(X1, X2)) -> active(add(mark(X1), X2)) [1] if(X1, X2, c_mark(X3)) -> if(X1, X2, X3) [1] s(c_active(X)) -> s(X) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] active(c_and(false, Y)) -> mark(false) [1] first(X1, c_mark(X2)) -> first(X1, X2) [1] mark(c_from(X)) -> active(from(X)) [1] and(c_active(X1), X2) -> and(X1, X2) [1] if(X1, X2, c_active(X3)) -> if(X1, X2, X3) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] mark(c_and(X1, X2)) -> active(and(mark(X1), X2)) [1] active(c_first(c_s(X), c_cons(Y, Z))) -> mark(cons(Y, first(X, Z))) [1] cons(X1, c_mark(X2)) -> cons(X1, X2) [1] first(X1, c_active(X2)) -> first(X1, X2) [1] if(X1, c_mark(X2), X3) -> if(X1, X2, X3) [1] add(c_mark(X1), X2) -> add(X1, X2) [1] from(c_active(X)) -> from(X) [1] add(X1, c_active(X2)) -> add(X1, X2) [1] s(c_mark(X)) -> s(X) [1] active(c_add(c_s(X), Y)) -> mark(s(add(X, Y))) [1] mark(c_if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) [1] first(c_mark(X1), X2) -> first(X1, X2) [1] active(c_add(0, X)) -> mark(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] active(c_if(false, X, Y)) -> mark(Y) [1] and(X1, c_mark(X2)) -> and(X1, X2) [1] and(c_mark(X1), X2) -> and(X1, X2) [1] active(c_from(X)) -> mark(cons(X, from(s(X)))) [1] if(c_active(X1), X2, X3) -> if(X1, X2, X3) [1] active(c_first(0, X)) -> mark(nil) [1] and(X1, c_active(X2)) -> and(X1, X2) [1] encArg(true) -> true [0] encArg(false) -> false [0] encArg(0) -> 0 [0] encArg(nil) -> nil [0] encArg(cons_active(x_1)) -> active(encArg(x_1)) [0] encArg(cons_mark(x_1)) -> mark(encArg(x_1)) [0] encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_from(x_1)) -> from(encArg(x_1)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_false -> false [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) [0] encode_nil -> nil [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_from(x_1) -> from(encArg(x_1)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] add(x0, x1) -> c_add(x0, x1) [0] if(x0, x1, x2) -> c_if(x0, x1, x2) [0] cons(x0, x1) -> c_cons(x0, x1) [0] and(x0, x1) -> c_and(x0, x1) [0] first(x0, x1) -> c_first(x0, x1) [0] from(x0) -> c_from(x0) [0] mark(x0) -> c_mark(x0) [0] encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_and(v0, v1) -> null_encode_and [0] encode_true -> null_encode_true [0] encode_mark(v0) -> null_encode_mark [0] encode_false -> null_encode_false [0] encode_if(v0, v1, v2) -> null_encode_if [0] encode_add(v0, v1) -> null_encode_add [0] encode_0 -> null_encode_0 [0] encode_s(v0) -> null_encode_s [0] encode_first(v0, v1) -> null_encode_first [0] encode_nil -> null_encode_nil [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_from(v0) -> null_encode_from [0] s(v0) -> null_s [0] active(v0) -> null_active [0] add(v0, v1) -> null_add [0] if(v0, v1, v2) -> null_if [0] cons(v0, v1) -> null_cons [0] and(v0, v1) -> null_and [0] first(v0, v1) -> null_first [0] from(v0) -> null_from [0] mark(v0) -> null_mark [0] The TRS has the following type information: mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark true :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark false :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark 0 :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark nil :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark c_from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encArg :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark cons_from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_true :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_false :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_0 :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_nil :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark encode_from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark -> true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encArg :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_true :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_false :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_0 :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_nil :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_encode_from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_s :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_active :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_add :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_if :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_cons :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_and :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_first :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_from :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from:null_mark null_mark :: true:false:0:nil:c_active:c_mark:c_s:c_cons:c_and:c_first:c_if:c_add:c_from:cons_active:cons_mark:cons_and:cons_if:cons_add:cons_s:cons_first:cons_cons:cons_from:null_encArg:null_encode_active:null_encode_and:null_encode_true:null_encode_mark:null_encode_false:null_encode_if:null_encode_add:null_encode_0:null_encode_s:null_encode_first:null_encode_nil:null_encode_cons:null_encode_from:null_s:null_active:null_add:null_if:null_cons:null_and:null_first:null_from: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: true => 3 false => 1 0 => 0 nil => 2 null_encArg => 0 null_encode_active => 0 null_encode_and => 0 null_encode_true => 0 null_encode_mark => 0 null_encode_false => 0 null_encode_if => 0 null_encode_add => 0 null_encode_0 => 0 null_encode_s => 0 null_encode_first => 0 null_encode_nil => 0 null_encode_cons => 0 null_encode_from => 0 null_s => 0 null_active => 0 null_add => 0 null_if => 0 null_cons => 0 null_and => 0 null_first => 0 null_from => 0 null_mark => 0 ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: active(z) -{ 1 }-> mark(X) :|: X >= 0, z = 1 + 3 + X active(z) -{ 1 }-> mark(X) :|: z = 1 + 3 + X + Y, Y >= 0, X >= 0 active(z) -{ 1 }-> mark(X) :|: z = 1 + 0 + X, X >= 0 active(z) -{ 1 }-> mark(Y) :|: Y >= 0, z = 1 + 1 + X + Y, X >= 0 active(z) -{ 1 }-> mark(s(add(X, Y))) :|: z = 1 + (1 + X) + Y, Y >= 0, X >= 0 active(z) -{ 1 }-> mark(cons(X, from(s(X)))) :|: z = 1 + X, X >= 0 active(z) -{ 1 }-> mark(cons(Y, first(X, Z))) :|: Z >= 0, z = 1 + (1 + X) + (1 + Y + Z), Y >= 0, X >= 0 active(z) -{ 1 }-> mark(2) :|: z = 1 + 0 + X, X >= 0 active(z) -{ 1 }-> mark(1) :|: Y >= 0, z = 1 + 1 + Y active(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 active(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 add(z, z') -{ 1 }-> add(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 add(z, z') -{ 1 }-> add(X1, X2) :|: X1 >= 0, z' = 1 + X2, X2 >= 0, z = X1 add(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 add(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 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 }-> 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 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> from(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> first(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 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 }-> add(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_add(z, z') -{ 0 }-> add(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_add(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 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_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_first(z, z') -{ 0 }-> first(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_first(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_from(z) -{ 0 }-> from(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_from(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_if(z, z', z'') -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, x_3 >= 0, x_2 >= 0, z = x_1, z' = x_2, z'' = x_3 encode_if(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 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 }-> 2 :|: 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_true -{ 0 }-> 3 :|: encode_true -{ 0 }-> 0 :|: first(z, z') -{ 1 }-> first(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 first(z, z') -{ 1 }-> first(X1, X2) :|: X1 >= 0, z' = 1 + X2, X2 >= 0, z = X1 first(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 first(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 from(z) -{ 1 }-> from(X) :|: z = 1 + X, X >= 0 from(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 from(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 if(z, z', z'') -{ 1 }-> if(X1, X2, X3) :|: X1 >= 0, z = 1 + X1, X3 >= 0, X2 >= 0, z' = X2, z'' = X3 if(z, z', z'') -{ 1 }-> if(X1, X2, X3) :|: X1 >= 0, X3 >= 0, z' = 1 + X2, X2 >= 0, z = X1, z'' = X3 if(z, z', z'') -{ 1 }-> if(X1, X2, X3) :|: X1 >= 0, X3 >= 0, X2 >= 0, z = X1, z' = X2, z'' = 1 + X3 if(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 if(z, z', z'') -{ 0 }-> 1 + x0 + x1 + x2 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1, z'' = x2, x2 >= 0 mark(z) -{ 1 }-> active(s(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(if(mark(X1), X2, X3)) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 1 }-> active(from(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(first(mark(X1), mark(X2))) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(cons(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(add(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 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(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) encode_active(z0) -> active(encArg(z0)) encode_and(z0, z1) -> and(encArg(z0), encArg(z1)) encode_true -> true encode_mark(z0) -> mark(encArg(z0)) encode_false -> false encode_if(z0, z1, z2) -> if(encArg(z0), encArg(z1), encArg(z2)) encode_add(z0, z1) -> add(encArg(z0), encArg(z1)) encode_0 -> 0 encode_s(z0) -> s(encArg(z0)) encode_first(z0, z1) -> first(encArg(z0), encArg(z1)) encode_nil -> nil encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_from(z0) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(true) -> c ENCARG(false) -> c1 ENCARG(0) -> c2 ENCARG(nil) -> c3 ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c7(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_add(z0, z1)) -> c8(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ENCODE_ACTIVE(z0) -> c13(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_AND(z0, z1) -> c14(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_TRUE -> c15 ENCODE_MARK(z0) -> c16(MARK(encArg(z0)), ENCARG(z0)) ENCODE_FALSE -> c17 ENCODE_IF(z0, z1, z2) -> c18(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCODE_ADD(z0, z1) -> c19(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_0 -> c20 ENCODE_S(z0) -> c21(S(encArg(z0)), ENCARG(z0)) ENCODE_FIRST(z0, z1) -> c22(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_NIL -> c23 ENCODE_CONS(z0, z1) -> c24(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_FROM(z0) -> c25(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(add(s(z0), z1)) -> c31(MARK(s(add(z0, z1))), S(add(z0, z1)), ADD(z0, z1)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c33(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(from(z0)) -> c34(MARK(cons(z0, from(s(z0)))), CONS(z0, from(s(z0))), FROM(s(z0)), S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(true) -> c36(ACTIVE(true)) MARK(false) -> c37(ACTIVE(false)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(0) -> c40(ACTIVE(0)) MARK(s(z0)) -> c41(ACTIVE(s(z0)), S(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(nil) -> c43(ACTIVE(nil)) MARK(cons(z0, z1)) -> c44(ACTIVE(cons(z0, z1)), CONS(z0, z1)) MARK(from(z0)) -> c45(ACTIVE(from(z0)), FROM(z0)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(add(s(z0), z1)) -> c31(MARK(s(add(z0, z1))), S(add(z0, z1)), ADD(z0, z1)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c33(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(from(z0)) -> c34(MARK(cons(z0, from(s(z0)))), CONS(z0, from(s(z0))), FROM(s(z0)), S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(true) -> c36(ACTIVE(true)) MARK(false) -> c37(ACTIVE(false)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(0) -> c40(ACTIVE(0)) MARK(s(z0)) -> c41(ACTIVE(s(z0)), S(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(nil) -> c43(ACTIVE(nil)) MARK(cons(z0, z1)) -> c44(ACTIVE(cons(z0, z1)), CONS(z0, z1)) MARK(from(z0)) -> c45(ACTIVE(from(z0)), FROM(z0)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) K tuples:none Defined Rule Symbols: active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1, encArg_1, encode_active_1, encode_and_2, encode_true, encode_mark_1, encode_false, encode_if_3, encode_add_2, encode_0, encode_s_1, encode_first_2, encode_nil, encode_cons_2, encode_from_1 Defined Pair Symbols: ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_TRUE, ENCODE_MARK_1, ENCODE_FALSE, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_0, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_NIL, ENCODE_CONS_2, ENCODE_FROM_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1 Compound Symbols: c, c1, c2, c3, c4_2, c5_2, c6_3, c7_4, c8_3, c9_2, c10_3, c11_3, c12_2, c13_2, c14_3, c15, c16_2, c17, c18_4, c19_3, c20, c21_2, c22_3, c23, c24_3, c25_2, c26_1, c27_1, c28_1, c29_1, c30_1, c31_3, c32_1, c33_3, c34_4, c35_3, c36_1, c37_1, c38_3, c39_3, c40_1, c41_2, c42_4, c43_1, c44_2, c45_2, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1 ---------------------------------------- (37) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing nodes: ENCARG(0) -> c2 ENCODE_NIL -> c23 ENCODE_TRUE -> c15 ENCODE_0 -> c20 ENCARG(false) -> c1 ENCODE_FALSE -> c17 ENCARG(nil) -> c3 ENCARG(true) -> c ---------------------------------------- (38) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) encode_active(z0) -> active(encArg(z0)) encode_and(z0, z1) -> and(encArg(z0), encArg(z1)) encode_true -> true encode_mark(z0) -> mark(encArg(z0)) encode_false -> false encode_if(z0, z1, z2) -> if(encArg(z0), encArg(z1), encArg(z2)) encode_add(z0, z1) -> add(encArg(z0), encArg(z1)) encode_0 -> 0 encode_s(z0) -> s(encArg(z0)) encode_first(z0, z1) -> first(encArg(z0), encArg(z1)) encode_nil -> nil encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_from(z0) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c7(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_add(z0, z1)) -> c8(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ENCODE_ACTIVE(z0) -> c13(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_AND(z0, z1) -> c14(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_MARK(z0) -> c16(MARK(encArg(z0)), ENCARG(z0)) ENCODE_IF(z0, z1, z2) -> c18(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCODE_ADD(z0, z1) -> c19(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_S(z0) -> c21(S(encArg(z0)), ENCARG(z0)) ENCODE_FIRST(z0, z1) -> c22(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_CONS(z0, z1) -> c24(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_FROM(z0) -> c25(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(add(s(z0), z1)) -> c31(MARK(s(add(z0, z1))), S(add(z0, z1)), ADD(z0, z1)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c33(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(from(z0)) -> c34(MARK(cons(z0, from(s(z0)))), CONS(z0, from(s(z0))), FROM(s(z0)), S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(true) -> c36(ACTIVE(true)) MARK(false) -> c37(ACTIVE(false)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(0) -> c40(ACTIVE(0)) MARK(s(z0)) -> c41(ACTIVE(s(z0)), S(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(nil) -> c43(ACTIVE(nil)) MARK(cons(z0, z1)) -> c44(ACTIVE(cons(z0, z1)), CONS(z0, z1)) MARK(from(z0)) -> c45(ACTIVE(from(z0)), FROM(z0)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(add(s(z0), z1)) -> c31(MARK(s(add(z0, z1))), S(add(z0, z1)), ADD(z0, z1)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c33(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(from(z0)) -> c34(MARK(cons(z0, from(s(z0)))), CONS(z0, from(s(z0))), FROM(s(z0)), S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(true) -> c36(ACTIVE(true)) MARK(false) -> c37(ACTIVE(false)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(0) -> c40(ACTIVE(0)) MARK(s(z0)) -> c41(ACTIVE(s(z0)), S(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(nil) -> c43(ACTIVE(nil)) MARK(cons(z0, z1)) -> c44(ACTIVE(cons(z0, z1)), CONS(z0, z1)) MARK(from(z0)) -> c45(ACTIVE(from(z0)), FROM(z0)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) K tuples:none Defined Rule Symbols: active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1, encArg_1, encode_active_1, encode_and_2, encode_true, encode_mark_1, encode_false, encode_if_3, encode_add_2, encode_0, encode_s_1, encode_first_2, encode_nil, encode_cons_2, encode_from_1 Defined Pair Symbols: ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1 Compound Symbols: c4_2, c5_2, c6_3, c7_4, c8_3, c9_2, c10_3, c11_3, c12_2, c13_2, c14_3, c16_2, c18_4, c19_3, c21_2, c22_3, c24_3, c25_2, c26_1, c27_1, c28_1, c29_1, c30_1, c31_3, c32_1, c33_3, c34_4, c35_3, c36_1, c37_1, c38_3, c39_3, c40_1, c41_2, c42_4, c43_1, c44_2, c45_2, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1 ---------------------------------------- (39) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 9 trailing tuple parts ---------------------------------------- (40) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) encode_active(z0) -> active(encArg(z0)) encode_and(z0, z1) -> and(encArg(z0), encArg(z1)) encode_true -> true encode_mark(z0) -> mark(encArg(z0)) encode_false -> false encode_if(z0, z1, z2) -> if(encArg(z0), encArg(z1), encArg(z2)) encode_add(z0, z1) -> add(encArg(z0), encArg(z1)) encode_0 -> 0 encode_s(z0) -> s(encArg(z0)) encode_first(z0, z1) -> first(encArg(z0), encArg(z1)) encode_nil -> nil encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_from(z0) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c7(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_add(z0, z1)) -> c8(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ENCODE_ACTIVE(z0) -> c13(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_AND(z0, z1) -> c14(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_MARK(z0) -> c16(MARK(encArg(z0)), ENCARG(z0)) ENCODE_IF(z0, z1, z2) -> c18(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCODE_ADD(z0, z1) -> c19(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_S(z0) -> c21(S(encArg(z0)), ENCARG(z0)) ENCODE_FIRST(z0, z1) -> c22(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_CONS(z0, z1) -> c24(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_FROM(z0) -> c25(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c33(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(from(z0)) -> c45(ACTIVE(from(z0)), FROM(z0)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c31(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(from(z0)) -> c34(MARK(cons(z0, from(s(z0)))), S(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c33(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(from(z0)) -> c45(ACTIVE(from(z0)), FROM(z0)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c31(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(from(z0)) -> c34(MARK(cons(z0, from(s(z0)))), S(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) K tuples:none Defined Rule Symbols: active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1, encArg_1, encode_active_1, encode_and_2, encode_true, encode_mark_1, encode_false, encode_if_3, encode_add_2, encode_0, encode_s_1, encode_first_2, encode_nil, encode_cons_2, encode_from_1 Defined Pair Symbols: ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1 Compound Symbols: c4_2, c5_2, c6_3, c7_4, c8_3, c9_2, c10_3, c11_3, c12_2, c13_2, c14_3, c16_2, c18_4, c19_3, c21_2, c22_3, c24_3, c25_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c33_3, c35_3, c38_3, c39_3, c42_4, c45_2, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c31_2, c34_2, c36, c37, c40, c41_1, c43, c44_1 ---------------------------------------- (41) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (42) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) encode_active(z0) -> active(encArg(z0)) encode_and(z0, z1) -> and(encArg(z0), encArg(z1)) encode_true -> true encode_mark(z0) -> mark(encArg(z0)) encode_false -> false encode_if(z0, z1, z2) -> if(encArg(z0), encArg(z1), encArg(z2)) encode_add(z0, z1) -> add(encArg(z0), encArg(z1)) encode_0 -> 0 encode_s(z0) -> s(encArg(z0)) encode_first(z0, z1) -> first(encArg(z0), encArg(z1)) encode_nil -> nil encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_from(z0) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c7(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_add(z0, z1)) -> c8(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_ACTIVE(z0) -> c(ENCARG(z0)) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(ENCARG(z0)) ENCODE_AND(z0, z1) -> c(ENCARG(z1)) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_MARK(z0) -> c(ENCARG(z0)) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_IF(z0, z1, z2) -> c(ENCARG(z0)) ENCODE_IF(z0, z1, z2) -> c(ENCARG(z1)) ENCODE_IF(z0, z1, z2) -> c(ENCARG(z2)) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_ADD(z0, z1) -> c(ENCARG(z0)) ENCODE_ADD(z0, z1) -> c(ENCARG(z1)) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_S(z0) -> c(ENCARG(z0)) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_FIRST(z0, z1) -> c(ENCARG(z0)) ENCODE_FIRST(z0, z1) -> c(ENCARG(z1)) 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_FROM(z0) -> c(FROM(encArg(z0))) ENCODE_FROM(z0) -> c(ENCARG(z0)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1, encArg_1, encode_active_1, encode_and_2, encode_true, encode_mark_1, encode_false, encode_if_3, encode_add_2, encode_0, encode_s_1, encode_first_2, encode_nil, encode_cons_2, encode_from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c4_2, c5_2, c6_3, c7_4, c8_3, c9_2, c10_3, c11_3, c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1 ---------------------------------------- (43) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 15 leading nodes: ENCODE_ACTIVE(z0) -> c(ENCARG(z0)) ENCODE_AND(z0, z1) -> c(ENCARG(z0)) ENCODE_AND(z0, z1) -> c(ENCARG(z1)) ENCODE_MARK(z0) -> c(ENCARG(z0)) ENCODE_IF(z0, z1, z2) -> c(ENCARG(z0)) ENCODE_IF(z0, z1, z2) -> c(ENCARG(z1)) ENCODE_IF(z0, z1, z2) -> c(ENCARG(z2)) ENCODE_ADD(z0, z1) -> c(ENCARG(z0)) ENCODE_ADD(z0, z1) -> c(ENCARG(z1)) ENCODE_S(z0) -> c(ENCARG(z0)) ENCODE_FIRST(z0, z1) -> c(ENCARG(z0)) ENCODE_FIRST(z0, z1) -> c(ENCARG(z1)) ENCODE_CONS(z0, z1) -> c(ENCARG(z0)) ENCODE_CONS(z0, z1) -> c(ENCARG(z1)) ENCODE_FROM(z0) -> c(ENCARG(z0)) ---------------------------------------- (44) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) encode_active(z0) -> active(encArg(z0)) encode_and(z0, z1) -> and(encArg(z0), encArg(z1)) encode_true -> true encode_mark(z0) -> mark(encArg(z0)) encode_false -> false encode_if(z0, z1, z2) -> if(encArg(z0), encArg(z1), encArg(z2)) encode_add(z0, z1) -> add(encArg(z0), encArg(z1)) encode_0 -> 0 encode_s(z0) -> s(encArg(z0)) encode_first(z0, z1) -> first(encArg(z0), encArg(z1)) encode_nil -> nil encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_from(z0) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c7(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_add(z0, z1)) -> c8(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1, encArg_1, encode_active_1, encode_and_2, encode_true, encode_mark_1, encode_false, encode_if_3, encode_add_2, encode_0, encode_s_1, encode_first_2, encode_nil, encode_cons_2, encode_from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c4_2, c5_2, c6_3, c7_4, c8_3, c9_2, c10_3, c11_3, c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1 ---------------------------------------- (45) CdtUsableRulesProof (BOTH BOUNDS(ID, ID)) The following rules are not usable and were removed: encode_active(z0) -> active(encArg(z0)) encode_and(z0, z1) -> and(encArg(z0), encArg(z1)) encode_true -> true encode_mark(z0) -> mark(encArg(z0)) encode_false -> false encode_if(z0, z1, z2) -> if(encArg(z0), encArg(z1), encArg(z2)) encode_add(z0, z1) -> add(encArg(z0), encArg(z1)) encode_0 -> 0 encode_s(z0) -> s(encArg(z0)) encode_first(z0, z1) -> first(encArg(z0), encArg(z1)) encode_nil -> nil encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_from(z0) -> from(encArg(z0)) ---------------------------------------- (46) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c7(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_add(z0, z1)) -> c8(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c4_2, c5_2, c6_3, c7_4, c8_3, c9_2, c10_3, c11_3, c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, 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(true)) -> c4(ACTIVE(true), ENCARG(true)) ENCARG(cons_active(false)) -> c4(ACTIVE(false), ENCARG(false)) ENCARG(cons_active(0)) -> c4(ACTIVE(0), ENCARG(0)) ENCARG(cons_active(nil)) -> c4(ACTIVE(nil), ENCARG(nil)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ---------------------------------------- (48) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c7(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_add(z0, z1)) -> c8(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(true)) -> c4(ACTIVE(true), ENCARG(true)) ENCARG(cons_active(false)) -> c4(ACTIVE(false), ENCARG(false)) ENCARG(cons_active(0)) -> c4(ACTIVE(0), ENCARG(0)) ENCARG(cons_active(nil)) -> c4(ACTIVE(nil), ENCARG(nil)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c5_2, c6_3, c7_4, c8_3, c9_2, c10_3, c11_3, c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2 ---------------------------------------- (49) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCARG(cons_active(nil)) -> c4(ACTIVE(nil), ENCARG(nil)) ENCARG(cons_active(0)) -> c4(ACTIVE(0), ENCARG(0)) ENCARG(cons_active(true)) -> c4(ACTIVE(true), ENCARG(true)) ENCARG(cons_active(false)) -> c4(ACTIVE(false), ENCARG(false)) ---------------------------------------- (50) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c7(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_add(z0, z1)) -> c8(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c5_2, c6_3, c7_4, c8_3, c9_2, c10_3, c11_3, c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2 ---------------------------------------- (51) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) by ENCARG(cons_mark(true)) -> c5(MARK(true), ENCARG(true)) ENCARG(cons_mark(false)) -> c5(MARK(false), ENCARG(false)) ENCARG(cons_mark(0)) -> c5(MARK(0), ENCARG(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil), ENCARG(nil)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ---------------------------------------- (52) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c7(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_add(z0, z1)) -> c8(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true), ENCARG(true)) ENCARG(cons_mark(false)) -> c5(MARK(false), ENCARG(false)) ENCARG(cons_mark(0)) -> c5(MARK(0), ENCARG(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil), ENCARG(nil)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c6_3, c7_4, c8_3, c9_2, c10_3, c11_3, c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2 ---------------------------------------- (53) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (54) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c7(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_add(z0, z1)) -> c8(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c6_3, c7_4, c8_3, c9_2, c10_3, c11_3, c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1 ---------------------------------------- (55) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0), ENCARG(true)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0), ENCARG(false)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(true), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(false), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ---------------------------------------- (56) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_if(z0, z1, z2)) -> c7(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_add(z0, z1)) -> c8(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0), ENCARG(true)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0), ENCARG(false)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(true), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(false), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c7_4, c8_3, c9_2, c10_3, c11_3, c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3 ---------------------------------------- (57) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing tuple parts ---------------------------------------- (58) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_if(z0, z1, z2)) -> c7(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_add(z0, z1)) -> c8(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c7_4, c8_3, c9_2, c10_3, c11_3, c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2 ---------------------------------------- (59) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_if(z0, z1, z2)) -> c7(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) by ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1), ENCARG(true)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1), ENCARG(false)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1), ENCARG(0)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1), ENCARG(nil)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(true), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(false), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(nil), ENCARG(x2)) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(true), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(false), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(nil), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ---------------------------------------- (60) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_add(z0, z1)) -> c8(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1), ENCARG(true)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1), ENCARG(false)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1), ENCARG(0)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1), ENCARG(nil)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(true), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(false), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(nil), ENCARG(x2)) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(true), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(false), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(nil), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c8_3, c9_2, c10_3, c11_3, c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4 ---------------------------------------- (61) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 12 trailing tuple parts ---------------------------------------- (62) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_add(z0, z1)) -> c8(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c8_3, c9_2, c10_3, c11_3, c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3 ---------------------------------------- (63) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_add(z0, z1)) -> c8(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0), ENCARG(true)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0), ENCARG(false)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(true), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(false), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ---------------------------------------- (64) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0), ENCARG(true)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0), ENCARG(false)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(true), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(false), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c9_2, c10_3, c11_3, c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3 ---------------------------------------- (65) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing tuple parts ---------------------------------------- (66) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c9_2, c10_3, c11_3, c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2 ---------------------------------------- (67) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_s(z0)) -> c9(S(encArg(z0)), ENCARG(z0)) by ENCARG(cons_s(true)) -> c9(S(true), ENCARG(true)) ENCARG(cons_s(false)) -> c9(S(false), ENCARG(false)) ENCARG(cons_s(0)) -> c9(S(0), ENCARG(0)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ---------------------------------------- (68) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(true)) -> c9(S(true), ENCARG(true)) ENCARG(cons_s(false)) -> c9(S(false), ENCARG(false)) ENCARG(cons_s(0)) -> c9(S(0), ENCARG(0)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c10_3, c11_3, c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2 ---------------------------------------- (69) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCARG(cons_s(true)) -> c9(S(true), ENCARG(true)) ENCARG(cons_s(false)) -> c9(S(false), ENCARG(false)) ENCARG(cons_s(nil)) -> c9(S(nil), ENCARG(nil)) ENCARG(cons_s(0)) -> c9(S(0), ENCARG(0)) ---------------------------------------- (70) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c10_3, c11_3, c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2 ---------------------------------------- (71) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_first(z0, z1)) -> c10(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0), ENCARG(true)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0), ENCARG(false)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(true), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(false), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ---------------------------------------- (72) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0), ENCARG(true)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0), ENCARG(false)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(true), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(false), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c11_3, c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3 ---------------------------------------- (73) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing tuple parts ---------------------------------------- (74) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c11_3, c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2 ---------------------------------------- (75) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_cons(z0, z1)) -> c11(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0), ENCARG(true)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0), ENCARG(false)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(true), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(false), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ---------------------------------------- (76) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0), ENCARG(true)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0), ENCARG(false)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(true), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(false), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3 ---------------------------------------- (77) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing tuple parts ---------------------------------------- (78) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c12_2, c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2 ---------------------------------------- (79) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_from(z0)) -> c12(FROM(encArg(z0)), ENCARG(z0)) by ENCARG(cons_from(true)) -> c12(FROM(true), ENCARG(true)) ENCARG(cons_from(false)) -> c12(FROM(false), ENCARG(false)) ENCARG(cons_from(0)) -> c12(FROM(0), ENCARG(0)) ENCARG(cons_from(nil)) -> c12(FROM(nil), ENCARG(nil)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) ---------------------------------------- (80) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(true)) -> c12(FROM(true), ENCARG(true)) ENCARG(cons_from(false)) -> c12(FROM(false), ENCARG(false)) ENCARG(cons_from(0)) -> c12(FROM(0), ENCARG(0)) ENCARG(cons_from(nil)) -> c12(FROM(nil), ENCARG(nil)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1, ENCARG_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2 ---------------------------------------- (81) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCARG(cons_from(0)) -> c12(FROM(0), ENCARG(0)) ENCARG(cons_from(nil)) -> c12(FROM(nil), ENCARG(nil)) ENCARG(cons_from(true)) -> c12(FROM(true), ENCARG(true)) ENCARG(cons_from(false)) -> c12(FROM(false), ENCARG(false)) ---------------------------------------- (82) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1, ENCARG_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c35_3, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2 ---------------------------------------- (83) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(and(z0, z1)) -> c35(ACTIVE(and(mark(z0), z1)), AND(mark(z0), z1), MARK(z0)) by MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) ---------------------------------------- (84) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1, ENCARG_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c38_3, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1 ---------------------------------------- (85) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) by MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) ---------------------------------------- (86) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1, ENCARG_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c39_3, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1 ---------------------------------------- (87) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), z1)), ADD(mark(z0), z1), MARK(z0)) by MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) ---------------------------------------- (88) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1, ENCARG_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c42_4, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1 ---------------------------------------- (89) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(first(z0, z1)) -> c42(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) by MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) ---------------------------------------- (90) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1, ENCARG_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4 ---------------------------------------- (91) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) by ENCODE_ACTIVE(true) -> c(ACTIVE(true)) ENCODE_ACTIVE(false) -> c(ACTIVE(false)) ENCODE_ACTIVE(0) -> c(ACTIVE(0)) ENCODE_ACTIVE(nil) -> c(ACTIVE(nil)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ---------------------------------------- (92) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) ENCODE_ACTIVE(true) -> c(ACTIVE(true)) ENCODE_ACTIVE(false) -> c(ACTIVE(false)) ENCODE_ACTIVE(0) -> c(ACTIVE(0)) ENCODE_ACTIVE(nil) -> c(ACTIVE(nil)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1, ENCARG_1, ENCODE_ACTIVE_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4 ---------------------------------------- (93) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCODE_ACTIVE(0) -> c(ACTIVE(0)) ENCODE_ACTIVE(false) -> c(ACTIVE(false)) ENCODE_ACTIVE(nil) -> c(ACTIVE(nil)) ENCODE_ACTIVE(true) -> c(ACTIVE(true)) ---------------------------------------- (94) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1, ENCARG_1, ENCODE_ACTIVE_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4 ---------------------------------------- (95) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) by ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ---------------------------------------- (96) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4 ---------------------------------------- (97) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_MARK(z0) -> c(MARK(encArg(z0))) by ENCODE_MARK(true) -> c(MARK(true)) ENCODE_MARK(false) -> c(MARK(false)) ENCODE_MARK(0) -> c(MARK(0)) ENCODE_MARK(nil) -> c(MARK(nil)) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ---------------------------------------- (98) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(true) -> c(MARK(true)) ENCODE_MARK(false) -> c(MARK(false)) ENCODE_MARK(0) -> c(MARK(0)) ENCODE_MARK(nil) -> c(MARK(nil)) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4 ---------------------------------------- (99) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 4 leading nodes: ENCODE_MARK(true) -> c(MARK(true)) ENCODE_MARK(false) -> c(MARK(false)) ENCODE_MARK(0) -> c(MARK(0)) ENCODE_MARK(nil) -> c(MARK(nil)) ---------------------------------------- (100) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4 ---------------------------------------- (101) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) by ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ---------------------------------------- (102) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4 ---------------------------------------- (103) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) by ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ---------------------------------------- (104) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4 ---------------------------------------- (105) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_S(z0) -> c(S(encArg(z0))) by ENCODE_S(true) -> c(S(true)) ENCODE_S(false) -> c(S(false)) ENCODE_S(0) -> c(S(0)) ENCODE_S(nil) -> c(S(nil)) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ---------------------------------------- (106) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(true) -> c(S(true)) ENCODE_S(false) -> c(S(false)) ENCODE_S(0) -> c(S(0)) ENCODE_S(nil) -> c(S(nil)) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4 ---------------------------------------- (107) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCODE_S(false) -> c(S(false)) ENCODE_S(0) -> c(S(0)) ENCODE_S(nil) -> c(S(nil)) ENCODE_S(true) -> c(S(true)) ---------------------------------------- (108) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4 ---------------------------------------- (109) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) by ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ---------------------------------------- (110) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCODE_CONS_2, ENCODE_FROM_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4 ---------------------------------------- (111) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) by ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ---------------------------------------- (112) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ENCODE_FROM(z0) -> c(FROM(encArg(z0))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCODE_FROM_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4 ---------------------------------------- (113) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_FROM(z0) -> c(FROM(encArg(z0))) by ENCODE_FROM(true) -> c(FROM(true)) ENCODE_FROM(false) -> c(FROM(false)) ENCODE_FROM(0) -> c(FROM(0)) ENCODE_FROM(nil) -> c(FROM(nil)) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) ---------------------------------------- (114) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(true) -> c(FROM(true)) ENCODE_FROM(false) -> c(FROM(false)) ENCODE_FROM(0) -> c(FROM(0)) ENCODE_FROM(nil) -> c(FROM(nil)) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4 ---------------------------------------- (115) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCODE_FROM(nil) -> c(FROM(nil)) ENCODE_FROM(true) -> c(FROM(true)) ENCODE_FROM(false) -> c(FROM(false)) ENCODE_FROM(0) -> c(FROM(0)) ---------------------------------------- (116) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4 ---------------------------------------- (117) 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(true))) -> c4(ACTIVE(active(true)), ENCARG(cons_active(true))) ENCARG(cons_active(cons_active(false))) -> c4(ACTIVE(active(false)), ENCARG(cons_active(false))) ENCARG(cons_active(cons_active(0))) -> c4(ACTIVE(active(0)), ENCARG(cons_active(0))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) ---------------------------------------- (118) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) ENCARG(cons_active(cons_active(true))) -> c4(ACTIVE(active(true)), ENCARG(cons_active(true))) ENCARG(cons_active(cons_active(false))) -> c4(ACTIVE(active(false)), ENCARG(cons_active(false))) ENCARG(cons_active(cons_active(0))) -> c4(ACTIVE(active(0)), ENCARG(cons_active(0))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4 ---------------------------------------- (119) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCARG(cons_active(cons_active(0))) -> c4(ACTIVE(active(0)), ENCARG(cons_active(0))) ENCARG(cons_active(cons_active(true))) -> c4(ACTIVE(active(true)), ENCARG(cons_active(true))) ENCARG(cons_active(cons_active(nil))) -> c4(ACTIVE(active(nil)), ENCARG(cons_active(nil))) ENCARG(cons_active(cons_active(false))) -> c4(ACTIVE(active(false)), ENCARG(cons_active(false))) ---------------------------------------- (120) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4 ---------------------------------------- (121) 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(true))) -> c4(ACTIVE(mark(true)), ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c4(ACTIVE(mark(false)), ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c4(ACTIVE(mark(0)), ENCARG(cons_mark(0))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ---------------------------------------- (122) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) ENCARG(cons_active(cons_mark(true))) -> c4(ACTIVE(mark(true)), ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c4(ACTIVE(mark(false)), ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c4(ACTIVE(mark(0)), ENCARG(cons_mark(0))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4 ---------------------------------------- (123) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (124) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_active(cons_mark(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c1(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c1(ENCARG(cons_mark(nil))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4, c1_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, true))) -> c4(ACTIVE(and(encArg(x0), true)), ENCARG(cons_and(x0, true))) ENCARG(cons_active(cons_and(x0, false))) -> c4(ACTIVE(and(encArg(x0), false)), ENCARG(cons_and(x0, false))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(and(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_and(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_and(x0, cons_add(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(and(encArg(x0), from(encArg(z0)))), ENCARG(cons_and(x0, cons_from(z0)))) ENCARG(cons_active(cons_and(true, x1))) -> c4(ACTIVE(and(true, encArg(x1))), ENCARG(cons_and(true, x1))) ENCARG(cons_active(cons_and(false, x1))) -> c4(ACTIVE(and(false, encArg(x1))), ENCARG(cons_and(false, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_and(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_and(cons_add(z0, z1), x1))) -> c4(ACTIVE(and(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(and(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(and(from(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_from(z0), x1))) ---------------------------------------- (126) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_active(cons_mark(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c1(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c1(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_and(x0, true))) -> c4(ACTIVE(and(encArg(x0), true)), ENCARG(cons_and(x0, true))) ENCARG(cons_active(cons_and(x0, false))) -> c4(ACTIVE(and(encArg(x0), false)), ENCARG(cons_and(x0, false))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(and(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_and(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_and(x0, cons_add(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(and(encArg(x0), from(encArg(z0)))), ENCARG(cons_and(x0, cons_from(z0)))) ENCARG(cons_active(cons_and(true, x1))) -> c4(ACTIVE(and(true, encArg(x1))), ENCARG(cons_and(true, x1))) ENCARG(cons_active(cons_and(false, x1))) -> c4(ACTIVE(and(false, encArg(x1))), ENCARG(cons_and(false, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_and(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_and(cons_add(z0, z1), x1))) -> c4(ACTIVE(and(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(and(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(and(from(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_from(z0), x1))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4, c1_1 ---------------------------------------- (127) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_if(z0, z1, z2))) -> c4(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) by ENCARG(cons_active(cons_if(x0, x1, true))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, nil))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), nil)), ENCARG(cons_if(x0, x1, nil))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_and(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_and(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, x1, cons_add(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_add(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_first(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_first(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_cons(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_cons(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_from(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), from(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_from(z0)))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c4(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c4(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c4(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, nil, x2))) -> c4(ACTIVE(if(encArg(x0), nil, encArg(x2))), ENCARG(cons_if(x0, nil, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c4(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c4(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_and(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_and(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c4(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(x0, cons_add(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_add(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c4(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_first(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_first(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_cons(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_cons(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_from(z0), x2))) -> c4(ACTIVE(if(encArg(x0), from(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_from(z0), x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c4(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c4(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c4(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(nil, x1, x2))) -> c4(ACTIVE(if(nil, encArg(x1), encArg(x2))), ENCARG(cons_if(nil, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c4(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c4(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_and(z0, z1), x1, x2))) -> c4(ACTIVE(if(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_and(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c4(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_active(cons_if(cons_add(z0, z1), x1, x2))) -> c4(ACTIVE(if(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_add(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c4(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_first(z0, z1), x1, x2))) -> c4(ACTIVE(if(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_first(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_cons(z0, z1), x1, x2))) -> c4(ACTIVE(if(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_cons(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_from(z0), x1, x2))) -> c4(ACTIVE(if(from(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_from(z0), x1, x2))) ---------------------------------------- (128) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_active(cons_mark(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c1(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c1(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_and(x0, true))) -> c4(ACTIVE(and(encArg(x0), true)), ENCARG(cons_and(x0, true))) ENCARG(cons_active(cons_and(x0, false))) -> c4(ACTIVE(and(encArg(x0), false)), ENCARG(cons_and(x0, false))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(and(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_and(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_and(x0, cons_add(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(and(encArg(x0), from(encArg(z0)))), ENCARG(cons_and(x0, cons_from(z0)))) ENCARG(cons_active(cons_and(true, x1))) -> c4(ACTIVE(and(true, encArg(x1))), ENCARG(cons_and(true, x1))) ENCARG(cons_active(cons_and(false, x1))) -> c4(ACTIVE(and(false, encArg(x1))), ENCARG(cons_and(false, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_and(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_and(cons_add(z0, z1), x1))) -> c4(ACTIVE(and(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(and(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(and(from(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_from(z0), x1))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, nil))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), nil)), ENCARG(cons_if(x0, x1, nil))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_and(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_and(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, x1, cons_add(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_add(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_first(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_first(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_cons(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_cons(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_from(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), from(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_from(z0)))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c4(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c4(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c4(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, nil, x2))) -> c4(ACTIVE(if(encArg(x0), nil, encArg(x2))), ENCARG(cons_if(x0, nil, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c4(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c4(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_and(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_and(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c4(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(x0, cons_add(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_add(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c4(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_first(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_first(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_cons(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_cons(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_from(z0), x2))) -> c4(ACTIVE(if(encArg(x0), from(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_from(z0), x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c4(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c4(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c4(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(nil, x1, x2))) -> c4(ACTIVE(if(nil, encArg(x1), encArg(x2))), ENCARG(cons_if(nil, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c4(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c4(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_and(z0, z1), x1, x2))) -> c4(ACTIVE(if(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_and(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c4(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_active(cons_if(cons_add(z0, z1), x1, x2))) -> c4(ACTIVE(if(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_add(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c4(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_first(z0, z1), x1, x2))) -> c4(ACTIVE(if(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_first(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_cons(z0, z1), x1, x2))) -> c4(ACTIVE(if(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_cons(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_from(z0), x1, x2))) -> c4(ACTIVE(if(from(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_from(z0), x1, x2))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4, c1_1 ---------------------------------------- (129) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_add(z0, z1))) -> c4(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) by ENCARG(cons_active(cons_add(x0, true))) -> c4(ACTIVE(add(encArg(x0), true)), ENCARG(cons_add(x0, true))) ENCARG(cons_active(cons_add(x0, false))) -> c4(ACTIVE(add(encArg(x0), false)), ENCARG(cons_add(x0, false))) ENCARG(cons_active(cons_add(x0, 0))) -> c4(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c4(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c4(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c4(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_and(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(add(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_add(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c4(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_from(z0)))) -> c4(ACTIVE(add(encArg(x0), from(encArg(z0)))), ENCARG(cons_add(x0, cons_from(z0)))) ENCARG(cons_active(cons_add(true, x1))) -> c4(ACTIVE(add(true, encArg(x1))), ENCARG(cons_add(true, x1))) ENCARG(cons_active(cons_add(false, x1))) -> c4(ACTIVE(add(false, encArg(x1))), ENCARG(cons_add(false, x1))) ENCARG(cons_active(cons_add(0, x1))) -> c4(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c4(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c4(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c4(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_and(z0, z1), x1))) -> c4(ACTIVE(add(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(add(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_add(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c4(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c4(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c4(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c4(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_from(z0), x1))) -> c4(ACTIVE(add(from(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_from(z0), x1))) ---------------------------------------- (130) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_active(cons_mark(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c1(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c1(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_and(x0, true))) -> c4(ACTIVE(and(encArg(x0), true)), ENCARG(cons_and(x0, true))) ENCARG(cons_active(cons_and(x0, false))) -> c4(ACTIVE(and(encArg(x0), false)), ENCARG(cons_and(x0, false))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(and(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_and(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_and(x0, cons_add(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(and(encArg(x0), from(encArg(z0)))), ENCARG(cons_and(x0, cons_from(z0)))) ENCARG(cons_active(cons_and(true, x1))) -> c4(ACTIVE(and(true, encArg(x1))), ENCARG(cons_and(true, x1))) ENCARG(cons_active(cons_and(false, x1))) -> c4(ACTIVE(and(false, encArg(x1))), ENCARG(cons_and(false, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_and(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_and(cons_add(z0, z1), x1))) -> c4(ACTIVE(and(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(and(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(and(from(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_from(z0), x1))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, nil))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), nil)), ENCARG(cons_if(x0, x1, nil))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_and(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_and(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, x1, cons_add(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_add(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_first(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_first(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_cons(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_cons(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_from(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), from(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_from(z0)))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c4(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c4(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c4(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, nil, x2))) -> c4(ACTIVE(if(encArg(x0), nil, encArg(x2))), ENCARG(cons_if(x0, nil, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c4(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c4(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_and(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_and(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c4(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(x0, cons_add(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_add(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c4(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_first(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_first(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_cons(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_cons(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_from(z0), x2))) -> c4(ACTIVE(if(encArg(x0), from(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_from(z0), x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c4(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c4(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c4(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(nil, x1, x2))) -> c4(ACTIVE(if(nil, encArg(x1), encArg(x2))), ENCARG(cons_if(nil, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c4(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c4(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_and(z0, z1), x1, x2))) -> c4(ACTIVE(if(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_and(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c4(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_active(cons_if(cons_add(z0, z1), x1, x2))) -> c4(ACTIVE(if(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_add(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c4(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_first(z0, z1), x1, x2))) -> c4(ACTIVE(if(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_first(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_cons(z0, z1), x1, x2))) -> c4(ACTIVE(if(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_cons(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_from(z0), x1, x2))) -> c4(ACTIVE(if(from(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_from(z0), x1, x2))) ENCARG(cons_active(cons_add(x0, true))) -> c4(ACTIVE(add(encArg(x0), true)), ENCARG(cons_add(x0, true))) ENCARG(cons_active(cons_add(x0, false))) -> c4(ACTIVE(add(encArg(x0), false)), ENCARG(cons_add(x0, false))) ENCARG(cons_active(cons_add(x0, 0))) -> c4(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c4(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c4(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c4(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_and(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(add(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_add(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c4(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_from(z0)))) -> c4(ACTIVE(add(encArg(x0), from(encArg(z0)))), ENCARG(cons_add(x0, cons_from(z0)))) ENCARG(cons_active(cons_add(true, x1))) -> c4(ACTIVE(add(true, encArg(x1))), ENCARG(cons_add(true, x1))) ENCARG(cons_active(cons_add(false, x1))) -> c4(ACTIVE(add(false, encArg(x1))), ENCARG(cons_add(false, x1))) ENCARG(cons_active(cons_add(0, x1))) -> c4(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c4(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c4(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c4(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_and(z0, z1), x1))) -> c4(ACTIVE(add(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(add(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_add(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c4(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c4(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c4(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c4(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_from(z0), x1))) -> c4(ACTIVE(add(from(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_from(z0), x1))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4, c1_1 ---------------------------------------- (131) 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(true))) -> c4(ACTIVE(s(true)), ENCARG(cons_s(true))) ENCARG(cons_active(cons_s(false))) -> c4(ACTIVE(s(false)), ENCARG(cons_s(false))) 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))) 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_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c4(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c4(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(s(from(encArg(z0)))), ENCARG(cons_s(cons_from(z0)))) ---------------------------------------- (132) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_active(cons_mark(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c1(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c1(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_and(x0, true))) -> c4(ACTIVE(and(encArg(x0), true)), ENCARG(cons_and(x0, true))) ENCARG(cons_active(cons_and(x0, false))) -> c4(ACTIVE(and(encArg(x0), false)), ENCARG(cons_and(x0, false))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(and(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_and(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_and(x0, cons_add(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(and(encArg(x0), from(encArg(z0)))), ENCARG(cons_and(x0, cons_from(z0)))) ENCARG(cons_active(cons_and(true, x1))) -> c4(ACTIVE(and(true, encArg(x1))), ENCARG(cons_and(true, x1))) ENCARG(cons_active(cons_and(false, x1))) -> c4(ACTIVE(and(false, encArg(x1))), ENCARG(cons_and(false, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_and(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_and(cons_add(z0, z1), x1))) -> c4(ACTIVE(and(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(and(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(and(from(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_from(z0), x1))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, nil))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), nil)), ENCARG(cons_if(x0, x1, nil))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_and(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_and(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, x1, cons_add(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_add(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_first(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_first(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_cons(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_cons(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_from(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), from(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_from(z0)))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c4(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c4(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c4(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, nil, x2))) -> c4(ACTIVE(if(encArg(x0), nil, encArg(x2))), ENCARG(cons_if(x0, nil, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c4(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c4(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_and(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_and(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c4(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(x0, cons_add(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_add(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c4(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_first(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_first(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_cons(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_cons(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_from(z0), x2))) -> c4(ACTIVE(if(encArg(x0), from(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_from(z0), x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c4(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c4(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c4(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(nil, x1, x2))) -> c4(ACTIVE(if(nil, encArg(x1), encArg(x2))), ENCARG(cons_if(nil, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c4(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c4(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_and(z0, z1), x1, x2))) -> c4(ACTIVE(if(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_and(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c4(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_active(cons_if(cons_add(z0, z1), x1, x2))) -> c4(ACTIVE(if(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_add(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c4(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_first(z0, z1), x1, x2))) -> c4(ACTIVE(if(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_first(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_cons(z0, z1), x1, x2))) -> c4(ACTIVE(if(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_cons(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_from(z0), x1, x2))) -> c4(ACTIVE(if(from(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_from(z0), x1, x2))) ENCARG(cons_active(cons_add(x0, true))) -> c4(ACTIVE(add(encArg(x0), true)), ENCARG(cons_add(x0, true))) ENCARG(cons_active(cons_add(x0, false))) -> c4(ACTIVE(add(encArg(x0), false)), ENCARG(cons_add(x0, false))) ENCARG(cons_active(cons_add(x0, 0))) -> c4(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c4(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c4(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c4(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_and(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(add(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_add(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c4(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_from(z0)))) -> c4(ACTIVE(add(encArg(x0), from(encArg(z0)))), ENCARG(cons_add(x0, cons_from(z0)))) ENCARG(cons_active(cons_add(true, x1))) -> c4(ACTIVE(add(true, encArg(x1))), ENCARG(cons_add(true, x1))) ENCARG(cons_active(cons_add(false, x1))) -> c4(ACTIVE(add(false, encArg(x1))), ENCARG(cons_add(false, x1))) ENCARG(cons_active(cons_add(0, x1))) -> c4(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c4(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c4(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c4(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_and(z0, z1), x1))) -> c4(ACTIVE(add(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(add(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_add(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c4(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c4(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c4(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c4(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_from(z0), x1))) -> c4(ACTIVE(add(from(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_from(z0), x1))) ENCARG(cons_active(cons_s(true))) -> c4(ACTIVE(s(true)), ENCARG(cons_s(true))) ENCARG(cons_active(cons_s(false))) -> c4(ACTIVE(s(false)), ENCARG(cons_s(false))) 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))) 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_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c4(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c4(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(s(from(encArg(z0)))), ENCARG(cons_s(cons_from(z0)))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4, c1_1 ---------------------------------------- (133) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCARG(cons_active(cons_s(true))) -> c4(ACTIVE(s(true)), ENCARG(cons_s(true))) ENCARG(cons_active(cons_s(0))) -> c4(ACTIVE(s(0)), ENCARG(cons_s(0))) ENCARG(cons_active(cons_s(false))) -> c4(ACTIVE(s(false)), ENCARG(cons_s(false))) ENCARG(cons_active(cons_s(nil))) -> c4(ACTIVE(s(nil)), ENCARG(cons_s(nil))) ---------------------------------------- (134) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_active(cons_mark(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c1(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c1(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_and(x0, true))) -> c4(ACTIVE(and(encArg(x0), true)), ENCARG(cons_and(x0, true))) ENCARG(cons_active(cons_and(x0, false))) -> c4(ACTIVE(and(encArg(x0), false)), ENCARG(cons_and(x0, false))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(and(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_and(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_and(x0, cons_add(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(and(encArg(x0), from(encArg(z0)))), ENCARG(cons_and(x0, cons_from(z0)))) ENCARG(cons_active(cons_and(true, x1))) -> c4(ACTIVE(and(true, encArg(x1))), ENCARG(cons_and(true, x1))) ENCARG(cons_active(cons_and(false, x1))) -> c4(ACTIVE(and(false, encArg(x1))), ENCARG(cons_and(false, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_and(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_and(cons_add(z0, z1), x1))) -> c4(ACTIVE(and(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(and(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(and(from(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_from(z0), x1))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, nil))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), nil)), ENCARG(cons_if(x0, x1, nil))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_and(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_and(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, x1, cons_add(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_add(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_first(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_first(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_cons(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_cons(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_from(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), from(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_from(z0)))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c4(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c4(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c4(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, nil, x2))) -> c4(ACTIVE(if(encArg(x0), nil, encArg(x2))), ENCARG(cons_if(x0, nil, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c4(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c4(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_and(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_and(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c4(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(x0, cons_add(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_add(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c4(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_first(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_first(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_cons(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_cons(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_from(z0), x2))) -> c4(ACTIVE(if(encArg(x0), from(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_from(z0), x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c4(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c4(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c4(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(nil, x1, x2))) -> c4(ACTIVE(if(nil, encArg(x1), encArg(x2))), ENCARG(cons_if(nil, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c4(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c4(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_and(z0, z1), x1, x2))) -> c4(ACTIVE(if(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_and(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c4(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_active(cons_if(cons_add(z0, z1), x1, x2))) -> c4(ACTIVE(if(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_add(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c4(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_first(z0, z1), x1, x2))) -> c4(ACTIVE(if(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_first(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_cons(z0, z1), x1, x2))) -> c4(ACTIVE(if(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_cons(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_from(z0), x1, x2))) -> c4(ACTIVE(if(from(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_from(z0), x1, x2))) ENCARG(cons_active(cons_add(x0, true))) -> c4(ACTIVE(add(encArg(x0), true)), ENCARG(cons_add(x0, true))) ENCARG(cons_active(cons_add(x0, false))) -> c4(ACTIVE(add(encArg(x0), false)), ENCARG(cons_add(x0, false))) ENCARG(cons_active(cons_add(x0, 0))) -> c4(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c4(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c4(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c4(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_and(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(add(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_add(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c4(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_from(z0)))) -> c4(ACTIVE(add(encArg(x0), from(encArg(z0)))), ENCARG(cons_add(x0, cons_from(z0)))) ENCARG(cons_active(cons_add(true, x1))) -> c4(ACTIVE(add(true, encArg(x1))), ENCARG(cons_add(true, x1))) ENCARG(cons_active(cons_add(false, x1))) -> c4(ACTIVE(add(false, encArg(x1))), ENCARG(cons_add(false, x1))) ENCARG(cons_active(cons_add(0, x1))) -> c4(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c4(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c4(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c4(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_and(z0, z1), x1))) -> c4(ACTIVE(add(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(add(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_add(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c4(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c4(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c4(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c4(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_from(z0), x1))) -> c4(ACTIVE(add(from(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_from(z0), x1))) 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_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c4(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c4(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(s(from(encArg(z0)))), ENCARG(cons_s(cons_from(z0)))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4, c1_1 ---------------------------------------- (135) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_first(z0, z1))) -> c4(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) by ENCARG(cons_active(cons_first(x0, true))) -> c4(ACTIVE(first(encArg(x0), true)), ENCARG(cons_first(x0, true))) ENCARG(cons_active(cons_first(x0, false))) -> c4(ACTIVE(first(encArg(x0), false)), ENCARG(cons_first(x0, false))) ENCARG(cons_active(cons_first(x0, 0))) -> c4(ACTIVE(first(encArg(x0), 0)), ENCARG(cons_first(x0, 0))) ENCARG(cons_active(cons_first(x0, nil))) -> c4(ACTIVE(first(encArg(x0), nil)), ENCARG(cons_first(x0, nil))) ENCARG(cons_active(cons_first(x0, cons_active(z0)))) -> c4(ACTIVE(first(encArg(x0), active(encArg(z0)))), ENCARG(cons_first(x0, cons_active(z0)))) ENCARG(cons_active(cons_first(x0, cons_mark(z0)))) -> c4(ACTIVE(first(encArg(x0), mark(encArg(z0)))), ENCARG(cons_first(x0, cons_mark(z0)))) ENCARG(cons_active(cons_first(x0, cons_and(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(first(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_first(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_first(x0, cons_add(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_s(z0)))) -> c4(ACTIVE(first(encArg(x0), s(encArg(z0)))), ENCARG(cons_first(x0, cons_s(z0)))) ENCARG(cons_active(cons_first(x0, cons_first(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_from(z0)))) -> c4(ACTIVE(first(encArg(x0), from(encArg(z0)))), ENCARG(cons_first(x0, cons_from(z0)))) ENCARG(cons_active(cons_first(true, x1))) -> c4(ACTIVE(first(true, encArg(x1))), ENCARG(cons_first(true, x1))) ENCARG(cons_active(cons_first(false, x1))) -> c4(ACTIVE(first(false, encArg(x1))), ENCARG(cons_first(false, x1))) ENCARG(cons_active(cons_first(0, x1))) -> c4(ACTIVE(first(0, encArg(x1))), ENCARG(cons_first(0, x1))) ENCARG(cons_active(cons_first(nil, x1))) -> c4(ACTIVE(first(nil, encArg(x1))), ENCARG(cons_first(nil, x1))) ENCARG(cons_active(cons_first(cons_active(z0), x1))) -> c4(ACTIVE(first(active(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_active(z0), x1))) ENCARG(cons_active(cons_first(cons_mark(z0), x1))) -> c4(ACTIVE(first(mark(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_mark(z0), x1))) ENCARG(cons_active(cons_first(cons_and(z0, z1), x1))) -> c4(ACTIVE(first(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(first(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_first(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_first(cons_add(z0, z1), x1))) -> c4(ACTIVE(first(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_s(z0), x1))) -> c4(ACTIVE(first(s(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_s(z0), x1))) ENCARG(cons_active(cons_first(cons_first(z0, z1), x1))) -> c4(ACTIVE(first(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_cons(z0, z1), x1))) -> c4(ACTIVE(first(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_from(z0), x1))) -> c4(ACTIVE(first(from(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_from(z0), x1))) ---------------------------------------- (136) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_active(cons_mark(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c1(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c1(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_and(x0, true))) -> c4(ACTIVE(and(encArg(x0), true)), ENCARG(cons_and(x0, true))) ENCARG(cons_active(cons_and(x0, false))) -> c4(ACTIVE(and(encArg(x0), false)), ENCARG(cons_and(x0, false))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(and(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_and(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_and(x0, cons_add(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(and(encArg(x0), from(encArg(z0)))), ENCARG(cons_and(x0, cons_from(z0)))) ENCARG(cons_active(cons_and(true, x1))) -> c4(ACTIVE(and(true, encArg(x1))), ENCARG(cons_and(true, x1))) ENCARG(cons_active(cons_and(false, x1))) -> c4(ACTIVE(and(false, encArg(x1))), ENCARG(cons_and(false, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_and(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_and(cons_add(z0, z1), x1))) -> c4(ACTIVE(and(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(and(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(and(from(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_from(z0), x1))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, nil))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), nil)), ENCARG(cons_if(x0, x1, nil))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_and(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_and(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, x1, cons_add(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_add(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_first(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_first(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_cons(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_cons(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_from(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), from(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_from(z0)))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c4(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c4(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c4(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, nil, x2))) -> c4(ACTIVE(if(encArg(x0), nil, encArg(x2))), ENCARG(cons_if(x0, nil, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c4(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c4(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_and(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_and(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c4(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(x0, cons_add(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_add(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c4(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_first(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_first(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_cons(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_cons(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_from(z0), x2))) -> c4(ACTIVE(if(encArg(x0), from(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_from(z0), x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c4(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c4(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c4(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(nil, x1, x2))) -> c4(ACTIVE(if(nil, encArg(x1), encArg(x2))), ENCARG(cons_if(nil, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c4(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c4(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_and(z0, z1), x1, x2))) -> c4(ACTIVE(if(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_and(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c4(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_active(cons_if(cons_add(z0, z1), x1, x2))) -> c4(ACTIVE(if(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_add(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c4(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_first(z0, z1), x1, x2))) -> c4(ACTIVE(if(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_first(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_cons(z0, z1), x1, x2))) -> c4(ACTIVE(if(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_cons(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_from(z0), x1, x2))) -> c4(ACTIVE(if(from(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_from(z0), x1, x2))) ENCARG(cons_active(cons_add(x0, true))) -> c4(ACTIVE(add(encArg(x0), true)), ENCARG(cons_add(x0, true))) ENCARG(cons_active(cons_add(x0, false))) -> c4(ACTIVE(add(encArg(x0), false)), ENCARG(cons_add(x0, false))) ENCARG(cons_active(cons_add(x0, 0))) -> c4(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c4(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c4(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c4(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_and(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(add(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_add(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c4(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_from(z0)))) -> c4(ACTIVE(add(encArg(x0), from(encArg(z0)))), ENCARG(cons_add(x0, cons_from(z0)))) ENCARG(cons_active(cons_add(true, x1))) -> c4(ACTIVE(add(true, encArg(x1))), ENCARG(cons_add(true, x1))) ENCARG(cons_active(cons_add(false, x1))) -> c4(ACTIVE(add(false, encArg(x1))), ENCARG(cons_add(false, x1))) ENCARG(cons_active(cons_add(0, x1))) -> c4(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c4(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c4(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c4(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_and(z0, z1), x1))) -> c4(ACTIVE(add(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(add(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_add(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c4(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c4(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c4(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c4(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_from(z0), x1))) -> c4(ACTIVE(add(from(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_from(z0), x1))) 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_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c4(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c4(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(s(from(encArg(z0)))), ENCARG(cons_s(cons_from(z0)))) ENCARG(cons_active(cons_first(x0, true))) -> c4(ACTIVE(first(encArg(x0), true)), ENCARG(cons_first(x0, true))) ENCARG(cons_active(cons_first(x0, false))) -> c4(ACTIVE(first(encArg(x0), false)), ENCARG(cons_first(x0, false))) ENCARG(cons_active(cons_first(x0, 0))) -> c4(ACTIVE(first(encArg(x0), 0)), ENCARG(cons_first(x0, 0))) ENCARG(cons_active(cons_first(x0, nil))) -> c4(ACTIVE(first(encArg(x0), nil)), ENCARG(cons_first(x0, nil))) ENCARG(cons_active(cons_first(x0, cons_active(z0)))) -> c4(ACTIVE(first(encArg(x0), active(encArg(z0)))), ENCARG(cons_first(x0, cons_active(z0)))) ENCARG(cons_active(cons_first(x0, cons_mark(z0)))) -> c4(ACTIVE(first(encArg(x0), mark(encArg(z0)))), ENCARG(cons_first(x0, cons_mark(z0)))) ENCARG(cons_active(cons_first(x0, cons_and(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(first(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_first(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_first(x0, cons_add(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_s(z0)))) -> c4(ACTIVE(first(encArg(x0), s(encArg(z0)))), ENCARG(cons_first(x0, cons_s(z0)))) ENCARG(cons_active(cons_first(x0, cons_first(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_from(z0)))) -> c4(ACTIVE(first(encArg(x0), from(encArg(z0)))), ENCARG(cons_first(x0, cons_from(z0)))) ENCARG(cons_active(cons_first(true, x1))) -> c4(ACTIVE(first(true, encArg(x1))), ENCARG(cons_first(true, x1))) ENCARG(cons_active(cons_first(false, x1))) -> c4(ACTIVE(first(false, encArg(x1))), ENCARG(cons_first(false, x1))) ENCARG(cons_active(cons_first(0, x1))) -> c4(ACTIVE(first(0, encArg(x1))), ENCARG(cons_first(0, x1))) ENCARG(cons_active(cons_first(nil, x1))) -> c4(ACTIVE(first(nil, encArg(x1))), ENCARG(cons_first(nil, x1))) ENCARG(cons_active(cons_first(cons_active(z0), x1))) -> c4(ACTIVE(first(active(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_active(z0), x1))) ENCARG(cons_active(cons_first(cons_mark(z0), x1))) -> c4(ACTIVE(first(mark(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_mark(z0), x1))) ENCARG(cons_active(cons_first(cons_and(z0, z1), x1))) -> c4(ACTIVE(first(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(first(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_first(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_first(cons_add(z0, z1), x1))) -> c4(ACTIVE(first(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_s(z0), x1))) -> c4(ACTIVE(first(s(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_s(z0), x1))) ENCARG(cons_active(cons_first(cons_first(z0, z1), x1))) -> c4(ACTIVE(first(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_cons(z0, z1), x1))) -> c4(ACTIVE(first(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_from(z0), x1))) -> c4(ACTIVE(first(from(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_from(z0), x1))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4, c1_1 ---------------------------------------- (137) 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, true))) -> c4(ACTIVE(cons(encArg(x0), true)), ENCARG(cons_cons(x0, true))) ENCARG(cons_active(cons_cons(x0, false))) -> c4(ACTIVE(cons(encArg(x0), false)), ENCARG(cons_cons(x0, false))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(cons(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_cons(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_cons(x0, cons_add(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(cons(encArg(x0), from(encArg(z0)))), ENCARG(cons_cons(x0, cons_from(z0)))) ENCARG(cons_active(cons_cons(true, x1))) -> c4(ACTIVE(cons(true, encArg(x1))), ENCARG(cons_cons(true, x1))) ENCARG(cons_active(cons_cons(false, x1))) -> c4(ACTIVE(cons(false, encArg(x1))), ENCARG(cons_cons(false, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(cons(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_cons(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_cons(cons_add(z0, z1), x1))) -> c4(ACTIVE(cons(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(cons(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(cons(from(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_from(z0), x1))) ---------------------------------------- (138) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_active(cons_mark(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c1(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c1(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_and(x0, true))) -> c4(ACTIVE(and(encArg(x0), true)), ENCARG(cons_and(x0, true))) ENCARG(cons_active(cons_and(x0, false))) -> c4(ACTIVE(and(encArg(x0), false)), ENCARG(cons_and(x0, false))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(and(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_and(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_and(x0, cons_add(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(and(encArg(x0), from(encArg(z0)))), ENCARG(cons_and(x0, cons_from(z0)))) ENCARG(cons_active(cons_and(true, x1))) -> c4(ACTIVE(and(true, encArg(x1))), ENCARG(cons_and(true, x1))) ENCARG(cons_active(cons_and(false, x1))) -> c4(ACTIVE(and(false, encArg(x1))), ENCARG(cons_and(false, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_and(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_and(cons_add(z0, z1), x1))) -> c4(ACTIVE(and(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(and(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(and(from(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_from(z0), x1))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, nil))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), nil)), ENCARG(cons_if(x0, x1, nil))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_and(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_and(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, x1, cons_add(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_add(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_first(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_first(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_cons(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_cons(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_from(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), from(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_from(z0)))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c4(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c4(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c4(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, nil, x2))) -> c4(ACTIVE(if(encArg(x0), nil, encArg(x2))), ENCARG(cons_if(x0, nil, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c4(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c4(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_and(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_and(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c4(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(x0, cons_add(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_add(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c4(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_first(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_first(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_cons(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_cons(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_from(z0), x2))) -> c4(ACTIVE(if(encArg(x0), from(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_from(z0), x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c4(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c4(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c4(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(nil, x1, x2))) -> c4(ACTIVE(if(nil, encArg(x1), encArg(x2))), ENCARG(cons_if(nil, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c4(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c4(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_and(z0, z1), x1, x2))) -> c4(ACTIVE(if(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_and(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c4(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_active(cons_if(cons_add(z0, z1), x1, x2))) -> c4(ACTIVE(if(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_add(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c4(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_first(z0, z1), x1, x2))) -> c4(ACTIVE(if(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_first(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_cons(z0, z1), x1, x2))) -> c4(ACTIVE(if(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_cons(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_from(z0), x1, x2))) -> c4(ACTIVE(if(from(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_from(z0), x1, x2))) ENCARG(cons_active(cons_add(x0, true))) -> c4(ACTIVE(add(encArg(x0), true)), ENCARG(cons_add(x0, true))) ENCARG(cons_active(cons_add(x0, false))) -> c4(ACTIVE(add(encArg(x0), false)), ENCARG(cons_add(x0, false))) ENCARG(cons_active(cons_add(x0, 0))) -> c4(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c4(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c4(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c4(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_and(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(add(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_add(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c4(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_from(z0)))) -> c4(ACTIVE(add(encArg(x0), from(encArg(z0)))), ENCARG(cons_add(x0, cons_from(z0)))) ENCARG(cons_active(cons_add(true, x1))) -> c4(ACTIVE(add(true, encArg(x1))), ENCARG(cons_add(true, x1))) ENCARG(cons_active(cons_add(false, x1))) -> c4(ACTIVE(add(false, encArg(x1))), ENCARG(cons_add(false, x1))) ENCARG(cons_active(cons_add(0, x1))) -> c4(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c4(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c4(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c4(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_and(z0, z1), x1))) -> c4(ACTIVE(add(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(add(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_add(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c4(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c4(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c4(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c4(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_from(z0), x1))) -> c4(ACTIVE(add(from(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_from(z0), x1))) 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_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c4(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c4(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(s(from(encArg(z0)))), ENCARG(cons_s(cons_from(z0)))) ENCARG(cons_active(cons_first(x0, true))) -> c4(ACTIVE(first(encArg(x0), true)), ENCARG(cons_first(x0, true))) ENCARG(cons_active(cons_first(x0, false))) -> c4(ACTIVE(first(encArg(x0), false)), ENCARG(cons_first(x0, false))) ENCARG(cons_active(cons_first(x0, 0))) -> c4(ACTIVE(first(encArg(x0), 0)), ENCARG(cons_first(x0, 0))) ENCARG(cons_active(cons_first(x0, nil))) -> c4(ACTIVE(first(encArg(x0), nil)), ENCARG(cons_first(x0, nil))) ENCARG(cons_active(cons_first(x0, cons_active(z0)))) -> c4(ACTIVE(first(encArg(x0), active(encArg(z0)))), ENCARG(cons_first(x0, cons_active(z0)))) ENCARG(cons_active(cons_first(x0, cons_mark(z0)))) -> c4(ACTIVE(first(encArg(x0), mark(encArg(z0)))), ENCARG(cons_first(x0, cons_mark(z0)))) ENCARG(cons_active(cons_first(x0, cons_and(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(first(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_first(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_first(x0, cons_add(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_s(z0)))) -> c4(ACTIVE(first(encArg(x0), s(encArg(z0)))), ENCARG(cons_first(x0, cons_s(z0)))) ENCARG(cons_active(cons_first(x0, cons_first(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_from(z0)))) -> c4(ACTIVE(first(encArg(x0), from(encArg(z0)))), ENCARG(cons_first(x0, cons_from(z0)))) ENCARG(cons_active(cons_first(true, x1))) -> c4(ACTIVE(first(true, encArg(x1))), ENCARG(cons_first(true, x1))) ENCARG(cons_active(cons_first(false, x1))) -> c4(ACTIVE(first(false, encArg(x1))), ENCARG(cons_first(false, x1))) ENCARG(cons_active(cons_first(0, x1))) -> c4(ACTIVE(first(0, encArg(x1))), ENCARG(cons_first(0, x1))) ENCARG(cons_active(cons_first(nil, x1))) -> c4(ACTIVE(first(nil, encArg(x1))), ENCARG(cons_first(nil, x1))) ENCARG(cons_active(cons_first(cons_active(z0), x1))) -> c4(ACTIVE(first(active(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_active(z0), x1))) ENCARG(cons_active(cons_first(cons_mark(z0), x1))) -> c4(ACTIVE(first(mark(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_mark(z0), x1))) ENCARG(cons_active(cons_first(cons_and(z0, z1), x1))) -> c4(ACTIVE(first(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(first(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_first(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_first(cons_add(z0, z1), x1))) -> c4(ACTIVE(first(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_s(z0), x1))) -> c4(ACTIVE(first(s(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_s(z0), x1))) ENCARG(cons_active(cons_first(cons_first(z0, z1), x1))) -> c4(ACTIVE(first(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_cons(z0, z1), x1))) -> c4(ACTIVE(first(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_from(z0), x1))) -> c4(ACTIVE(first(from(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_from(z0), x1))) ENCARG(cons_active(cons_cons(x0, true))) -> c4(ACTIVE(cons(encArg(x0), true)), ENCARG(cons_cons(x0, true))) ENCARG(cons_active(cons_cons(x0, false))) -> c4(ACTIVE(cons(encArg(x0), false)), ENCARG(cons_cons(x0, false))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(cons(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_cons(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_cons(x0, cons_add(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(cons(encArg(x0), from(encArg(z0)))), ENCARG(cons_cons(x0, cons_from(z0)))) ENCARG(cons_active(cons_cons(true, x1))) -> c4(ACTIVE(cons(true, encArg(x1))), ENCARG(cons_cons(true, x1))) ENCARG(cons_active(cons_cons(false, x1))) -> c4(ACTIVE(cons(false, encArg(x1))), ENCARG(cons_cons(false, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(cons(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_cons(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_cons(cons_add(z0, z1), x1))) -> c4(ACTIVE(cons(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(cons(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(cons(from(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_from(z0), x1))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4, c1_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(true))) -> c5(MARK(active(true)), ENCARG(cons_active(true))) ENCARG(cons_mark(cons_active(false))) -> c5(MARK(active(false)), ENCARG(cons_active(false))) ENCARG(cons_mark(cons_active(0))) -> c5(MARK(active(0)), ENCARG(cons_active(0))) 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_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c5(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_active(cons_add(z0, z1)))) -> c5(MARK(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c5(MARK(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c5(MARK(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) ---------------------------------------- (140) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_active(cons_mark(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c1(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c1(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_and(x0, true))) -> c4(ACTIVE(and(encArg(x0), true)), ENCARG(cons_and(x0, true))) ENCARG(cons_active(cons_and(x0, false))) -> c4(ACTIVE(and(encArg(x0), false)), ENCARG(cons_and(x0, false))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(and(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_and(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_and(x0, cons_add(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(and(encArg(x0), from(encArg(z0)))), ENCARG(cons_and(x0, cons_from(z0)))) ENCARG(cons_active(cons_and(true, x1))) -> c4(ACTIVE(and(true, encArg(x1))), ENCARG(cons_and(true, x1))) ENCARG(cons_active(cons_and(false, x1))) -> c4(ACTIVE(and(false, encArg(x1))), ENCARG(cons_and(false, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_and(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_and(cons_add(z0, z1), x1))) -> c4(ACTIVE(and(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(and(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(and(from(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_from(z0), x1))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, nil))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), nil)), ENCARG(cons_if(x0, x1, nil))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_and(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_and(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, x1, cons_add(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_add(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_first(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_first(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_cons(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_cons(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_from(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), from(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_from(z0)))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c4(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c4(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c4(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, nil, x2))) -> c4(ACTIVE(if(encArg(x0), nil, encArg(x2))), ENCARG(cons_if(x0, nil, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c4(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c4(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_and(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_and(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c4(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(x0, cons_add(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_add(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c4(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_first(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_first(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_cons(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_cons(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_from(z0), x2))) -> c4(ACTIVE(if(encArg(x0), from(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_from(z0), x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c4(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c4(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c4(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(nil, x1, x2))) -> c4(ACTIVE(if(nil, encArg(x1), encArg(x2))), ENCARG(cons_if(nil, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c4(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c4(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_and(z0, z1), x1, x2))) -> c4(ACTIVE(if(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_and(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c4(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_active(cons_if(cons_add(z0, z1), x1, x2))) -> c4(ACTIVE(if(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_add(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c4(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_first(z0, z1), x1, x2))) -> c4(ACTIVE(if(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_first(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_cons(z0, z1), x1, x2))) -> c4(ACTIVE(if(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_cons(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_from(z0), x1, x2))) -> c4(ACTIVE(if(from(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_from(z0), x1, x2))) ENCARG(cons_active(cons_add(x0, true))) -> c4(ACTIVE(add(encArg(x0), true)), ENCARG(cons_add(x0, true))) ENCARG(cons_active(cons_add(x0, false))) -> c4(ACTIVE(add(encArg(x0), false)), ENCARG(cons_add(x0, false))) ENCARG(cons_active(cons_add(x0, 0))) -> c4(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c4(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c4(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c4(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_and(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(add(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_add(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c4(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_from(z0)))) -> c4(ACTIVE(add(encArg(x0), from(encArg(z0)))), ENCARG(cons_add(x0, cons_from(z0)))) ENCARG(cons_active(cons_add(true, x1))) -> c4(ACTIVE(add(true, encArg(x1))), ENCARG(cons_add(true, x1))) ENCARG(cons_active(cons_add(false, x1))) -> c4(ACTIVE(add(false, encArg(x1))), ENCARG(cons_add(false, x1))) ENCARG(cons_active(cons_add(0, x1))) -> c4(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c4(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c4(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c4(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_and(z0, z1), x1))) -> c4(ACTIVE(add(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(add(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_add(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c4(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c4(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c4(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c4(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_from(z0), x1))) -> c4(ACTIVE(add(from(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_from(z0), x1))) 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_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c4(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c4(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(s(from(encArg(z0)))), ENCARG(cons_s(cons_from(z0)))) ENCARG(cons_active(cons_first(x0, true))) -> c4(ACTIVE(first(encArg(x0), true)), ENCARG(cons_first(x0, true))) ENCARG(cons_active(cons_first(x0, false))) -> c4(ACTIVE(first(encArg(x0), false)), ENCARG(cons_first(x0, false))) ENCARG(cons_active(cons_first(x0, 0))) -> c4(ACTIVE(first(encArg(x0), 0)), ENCARG(cons_first(x0, 0))) ENCARG(cons_active(cons_first(x0, nil))) -> c4(ACTIVE(first(encArg(x0), nil)), ENCARG(cons_first(x0, nil))) ENCARG(cons_active(cons_first(x0, cons_active(z0)))) -> c4(ACTIVE(first(encArg(x0), active(encArg(z0)))), ENCARG(cons_first(x0, cons_active(z0)))) ENCARG(cons_active(cons_first(x0, cons_mark(z0)))) -> c4(ACTIVE(first(encArg(x0), mark(encArg(z0)))), ENCARG(cons_first(x0, cons_mark(z0)))) ENCARG(cons_active(cons_first(x0, cons_and(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(first(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_first(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_first(x0, cons_add(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_s(z0)))) -> c4(ACTIVE(first(encArg(x0), s(encArg(z0)))), ENCARG(cons_first(x0, cons_s(z0)))) ENCARG(cons_active(cons_first(x0, cons_first(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_from(z0)))) -> c4(ACTIVE(first(encArg(x0), from(encArg(z0)))), ENCARG(cons_first(x0, cons_from(z0)))) ENCARG(cons_active(cons_first(true, x1))) -> c4(ACTIVE(first(true, encArg(x1))), ENCARG(cons_first(true, x1))) ENCARG(cons_active(cons_first(false, x1))) -> c4(ACTIVE(first(false, encArg(x1))), ENCARG(cons_first(false, x1))) ENCARG(cons_active(cons_first(0, x1))) -> c4(ACTIVE(first(0, encArg(x1))), ENCARG(cons_first(0, x1))) ENCARG(cons_active(cons_first(nil, x1))) -> c4(ACTIVE(first(nil, encArg(x1))), ENCARG(cons_first(nil, x1))) ENCARG(cons_active(cons_first(cons_active(z0), x1))) -> c4(ACTIVE(first(active(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_active(z0), x1))) ENCARG(cons_active(cons_first(cons_mark(z0), x1))) -> c4(ACTIVE(first(mark(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_mark(z0), x1))) ENCARG(cons_active(cons_first(cons_and(z0, z1), x1))) -> c4(ACTIVE(first(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(first(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_first(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_first(cons_add(z0, z1), x1))) -> c4(ACTIVE(first(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_s(z0), x1))) -> c4(ACTIVE(first(s(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_s(z0), x1))) ENCARG(cons_active(cons_first(cons_first(z0, z1), x1))) -> c4(ACTIVE(first(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_cons(z0, z1), x1))) -> c4(ACTIVE(first(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_from(z0), x1))) -> c4(ACTIVE(first(from(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_from(z0), x1))) ENCARG(cons_active(cons_cons(x0, true))) -> c4(ACTIVE(cons(encArg(x0), true)), ENCARG(cons_cons(x0, true))) ENCARG(cons_active(cons_cons(x0, false))) -> c4(ACTIVE(cons(encArg(x0), false)), ENCARG(cons_cons(x0, false))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(cons(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_cons(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_cons(x0, cons_add(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(cons(encArg(x0), from(encArg(z0)))), ENCARG(cons_cons(x0, cons_from(z0)))) ENCARG(cons_active(cons_cons(true, x1))) -> c4(ACTIVE(cons(true, encArg(x1))), ENCARG(cons_cons(true, x1))) ENCARG(cons_active(cons_cons(false, x1))) -> c4(ACTIVE(cons(false, encArg(x1))), ENCARG(cons_cons(false, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(cons(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_cons(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_cons(cons_add(z0, z1), x1))) -> c4(ACTIVE(cons(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(cons(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(cons(from(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_from(z0), x1))) ENCARG(cons_mark(cons_active(true))) -> c5(MARK(active(true)), ENCARG(cons_active(true))) ENCARG(cons_mark(cons_active(false))) -> c5(MARK(active(false)), ENCARG(cons_active(false))) ENCARG(cons_mark(cons_active(0))) -> c5(MARK(active(0)), ENCARG(cons_active(0))) 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_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c5(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_active(cons_add(z0, z1)))) -> c5(MARK(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c5(MARK(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c5(MARK(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4, c1_1 ---------------------------------------- (141) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCARG(cons_mark(cons_active(true))) -> c5(MARK(active(true)), ENCARG(cons_active(true))) ENCARG(cons_mark(cons_active(false))) -> c5(MARK(active(false)), ENCARG(cons_active(false))) 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))) ---------------------------------------- (142) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_active(cons_mark(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c1(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c1(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_and(x0, true))) -> c4(ACTIVE(and(encArg(x0), true)), ENCARG(cons_and(x0, true))) ENCARG(cons_active(cons_and(x0, false))) -> c4(ACTIVE(and(encArg(x0), false)), ENCARG(cons_and(x0, false))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(and(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_and(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_and(x0, cons_add(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(and(encArg(x0), from(encArg(z0)))), ENCARG(cons_and(x0, cons_from(z0)))) ENCARG(cons_active(cons_and(true, x1))) -> c4(ACTIVE(and(true, encArg(x1))), ENCARG(cons_and(true, x1))) ENCARG(cons_active(cons_and(false, x1))) -> c4(ACTIVE(and(false, encArg(x1))), ENCARG(cons_and(false, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_and(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_and(cons_add(z0, z1), x1))) -> c4(ACTIVE(and(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(and(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(and(from(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_from(z0), x1))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, nil))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), nil)), ENCARG(cons_if(x0, x1, nil))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_and(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_and(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, x1, cons_add(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_add(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_first(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_first(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_cons(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_cons(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_from(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), from(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_from(z0)))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c4(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c4(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c4(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, nil, x2))) -> c4(ACTIVE(if(encArg(x0), nil, encArg(x2))), ENCARG(cons_if(x0, nil, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c4(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c4(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_and(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_and(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c4(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(x0, cons_add(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_add(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c4(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_first(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_first(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_cons(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_cons(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_from(z0), x2))) -> c4(ACTIVE(if(encArg(x0), from(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_from(z0), x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c4(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c4(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c4(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(nil, x1, x2))) -> c4(ACTIVE(if(nil, encArg(x1), encArg(x2))), ENCARG(cons_if(nil, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c4(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c4(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_and(z0, z1), x1, x2))) -> c4(ACTIVE(if(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_and(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c4(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_active(cons_if(cons_add(z0, z1), x1, x2))) -> c4(ACTIVE(if(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_add(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c4(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_first(z0, z1), x1, x2))) -> c4(ACTIVE(if(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_first(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_cons(z0, z1), x1, x2))) -> c4(ACTIVE(if(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_cons(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_from(z0), x1, x2))) -> c4(ACTIVE(if(from(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_from(z0), x1, x2))) ENCARG(cons_active(cons_add(x0, true))) -> c4(ACTIVE(add(encArg(x0), true)), ENCARG(cons_add(x0, true))) ENCARG(cons_active(cons_add(x0, false))) -> c4(ACTIVE(add(encArg(x0), false)), ENCARG(cons_add(x0, false))) ENCARG(cons_active(cons_add(x0, 0))) -> c4(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c4(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c4(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c4(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_and(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(add(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_add(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c4(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_from(z0)))) -> c4(ACTIVE(add(encArg(x0), from(encArg(z0)))), ENCARG(cons_add(x0, cons_from(z0)))) ENCARG(cons_active(cons_add(true, x1))) -> c4(ACTIVE(add(true, encArg(x1))), ENCARG(cons_add(true, x1))) ENCARG(cons_active(cons_add(false, x1))) -> c4(ACTIVE(add(false, encArg(x1))), ENCARG(cons_add(false, x1))) ENCARG(cons_active(cons_add(0, x1))) -> c4(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c4(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c4(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c4(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_and(z0, z1), x1))) -> c4(ACTIVE(add(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(add(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_add(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c4(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c4(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c4(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c4(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_from(z0), x1))) -> c4(ACTIVE(add(from(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_from(z0), x1))) 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_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c4(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c4(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(s(from(encArg(z0)))), ENCARG(cons_s(cons_from(z0)))) ENCARG(cons_active(cons_first(x0, true))) -> c4(ACTIVE(first(encArg(x0), true)), ENCARG(cons_first(x0, true))) ENCARG(cons_active(cons_first(x0, false))) -> c4(ACTIVE(first(encArg(x0), false)), ENCARG(cons_first(x0, false))) ENCARG(cons_active(cons_first(x0, 0))) -> c4(ACTIVE(first(encArg(x0), 0)), ENCARG(cons_first(x0, 0))) ENCARG(cons_active(cons_first(x0, nil))) -> c4(ACTIVE(first(encArg(x0), nil)), ENCARG(cons_first(x0, nil))) ENCARG(cons_active(cons_first(x0, cons_active(z0)))) -> c4(ACTIVE(first(encArg(x0), active(encArg(z0)))), ENCARG(cons_first(x0, cons_active(z0)))) ENCARG(cons_active(cons_first(x0, cons_mark(z0)))) -> c4(ACTIVE(first(encArg(x0), mark(encArg(z0)))), ENCARG(cons_first(x0, cons_mark(z0)))) ENCARG(cons_active(cons_first(x0, cons_and(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(first(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_first(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_first(x0, cons_add(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_s(z0)))) -> c4(ACTIVE(first(encArg(x0), s(encArg(z0)))), ENCARG(cons_first(x0, cons_s(z0)))) ENCARG(cons_active(cons_first(x0, cons_first(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_from(z0)))) -> c4(ACTIVE(first(encArg(x0), from(encArg(z0)))), ENCARG(cons_first(x0, cons_from(z0)))) ENCARG(cons_active(cons_first(true, x1))) -> c4(ACTIVE(first(true, encArg(x1))), ENCARG(cons_first(true, x1))) ENCARG(cons_active(cons_first(false, x1))) -> c4(ACTIVE(first(false, encArg(x1))), ENCARG(cons_first(false, x1))) ENCARG(cons_active(cons_first(0, x1))) -> c4(ACTIVE(first(0, encArg(x1))), ENCARG(cons_first(0, x1))) ENCARG(cons_active(cons_first(nil, x1))) -> c4(ACTIVE(first(nil, encArg(x1))), ENCARG(cons_first(nil, x1))) ENCARG(cons_active(cons_first(cons_active(z0), x1))) -> c4(ACTIVE(first(active(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_active(z0), x1))) ENCARG(cons_active(cons_first(cons_mark(z0), x1))) -> c4(ACTIVE(first(mark(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_mark(z0), x1))) ENCARG(cons_active(cons_first(cons_and(z0, z1), x1))) -> c4(ACTIVE(first(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(first(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_first(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_first(cons_add(z0, z1), x1))) -> c4(ACTIVE(first(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_s(z0), x1))) -> c4(ACTIVE(first(s(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_s(z0), x1))) ENCARG(cons_active(cons_first(cons_first(z0, z1), x1))) -> c4(ACTIVE(first(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_cons(z0, z1), x1))) -> c4(ACTIVE(first(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_from(z0), x1))) -> c4(ACTIVE(first(from(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_from(z0), x1))) ENCARG(cons_active(cons_cons(x0, true))) -> c4(ACTIVE(cons(encArg(x0), true)), ENCARG(cons_cons(x0, true))) ENCARG(cons_active(cons_cons(x0, false))) -> c4(ACTIVE(cons(encArg(x0), false)), ENCARG(cons_cons(x0, false))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(cons(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_cons(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_cons(x0, cons_add(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(cons(encArg(x0), from(encArg(z0)))), ENCARG(cons_cons(x0, cons_from(z0)))) ENCARG(cons_active(cons_cons(true, x1))) -> c4(ACTIVE(cons(true, encArg(x1))), ENCARG(cons_cons(true, x1))) ENCARG(cons_active(cons_cons(false, x1))) -> c4(ACTIVE(cons(false, encArg(x1))), ENCARG(cons_cons(false, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(cons(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_cons(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_cons(cons_add(z0, z1), x1))) -> c4(ACTIVE(cons(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(cons(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(cons(from(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_from(z0), 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_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c5(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_active(cons_add(z0, z1)))) -> c5(MARK(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c5(MARK(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c5(MARK(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4, c1_1 ---------------------------------------- (143) 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(true))) -> c5(MARK(mark(true)), ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c5(MARK(mark(false)), ENCARG(cons_mark(false))) ENCARG(cons_mark(cons_mark(0))) -> c5(MARK(mark(0)), ENCARG(cons_mark(0))) 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_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c5(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_add(z0, z1)))) -> c5(MARK(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c5(MARK(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c5(MARK(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ---------------------------------------- (144) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_active(cons_mark(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c1(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c1(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_and(x0, true))) -> c4(ACTIVE(and(encArg(x0), true)), ENCARG(cons_and(x0, true))) ENCARG(cons_active(cons_and(x0, false))) -> c4(ACTIVE(and(encArg(x0), false)), ENCARG(cons_and(x0, false))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(and(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_and(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_and(x0, cons_add(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(and(encArg(x0), from(encArg(z0)))), ENCARG(cons_and(x0, cons_from(z0)))) ENCARG(cons_active(cons_and(true, x1))) -> c4(ACTIVE(and(true, encArg(x1))), ENCARG(cons_and(true, x1))) ENCARG(cons_active(cons_and(false, x1))) -> c4(ACTIVE(and(false, encArg(x1))), ENCARG(cons_and(false, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_and(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_and(cons_add(z0, z1), x1))) -> c4(ACTIVE(and(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(and(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(and(from(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_from(z0), x1))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, nil))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), nil)), ENCARG(cons_if(x0, x1, nil))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_and(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_and(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, x1, cons_add(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_add(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_first(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_first(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_cons(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_cons(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_from(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), from(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_from(z0)))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c4(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c4(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c4(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, nil, x2))) -> c4(ACTIVE(if(encArg(x0), nil, encArg(x2))), ENCARG(cons_if(x0, nil, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c4(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c4(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_and(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_and(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c4(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(x0, cons_add(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_add(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c4(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_first(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_first(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_cons(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_cons(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_from(z0), x2))) -> c4(ACTIVE(if(encArg(x0), from(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_from(z0), x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c4(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c4(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c4(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(nil, x1, x2))) -> c4(ACTIVE(if(nil, encArg(x1), encArg(x2))), ENCARG(cons_if(nil, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c4(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c4(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_and(z0, z1), x1, x2))) -> c4(ACTIVE(if(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_and(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c4(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_active(cons_if(cons_add(z0, z1), x1, x2))) -> c4(ACTIVE(if(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_add(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c4(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_first(z0, z1), x1, x2))) -> c4(ACTIVE(if(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_first(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_cons(z0, z1), x1, x2))) -> c4(ACTIVE(if(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_cons(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_from(z0), x1, x2))) -> c4(ACTIVE(if(from(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_from(z0), x1, x2))) ENCARG(cons_active(cons_add(x0, true))) -> c4(ACTIVE(add(encArg(x0), true)), ENCARG(cons_add(x0, true))) ENCARG(cons_active(cons_add(x0, false))) -> c4(ACTIVE(add(encArg(x0), false)), ENCARG(cons_add(x0, false))) ENCARG(cons_active(cons_add(x0, 0))) -> c4(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c4(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c4(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c4(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_and(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(add(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_add(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c4(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_from(z0)))) -> c4(ACTIVE(add(encArg(x0), from(encArg(z0)))), ENCARG(cons_add(x0, cons_from(z0)))) ENCARG(cons_active(cons_add(true, x1))) -> c4(ACTIVE(add(true, encArg(x1))), ENCARG(cons_add(true, x1))) ENCARG(cons_active(cons_add(false, x1))) -> c4(ACTIVE(add(false, encArg(x1))), ENCARG(cons_add(false, x1))) ENCARG(cons_active(cons_add(0, x1))) -> c4(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c4(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c4(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c4(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_and(z0, z1), x1))) -> c4(ACTIVE(add(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(add(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_add(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c4(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c4(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c4(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c4(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_from(z0), x1))) -> c4(ACTIVE(add(from(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_from(z0), x1))) 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_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c4(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c4(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(s(from(encArg(z0)))), ENCARG(cons_s(cons_from(z0)))) ENCARG(cons_active(cons_first(x0, true))) -> c4(ACTIVE(first(encArg(x0), true)), ENCARG(cons_first(x0, true))) ENCARG(cons_active(cons_first(x0, false))) -> c4(ACTIVE(first(encArg(x0), false)), ENCARG(cons_first(x0, false))) ENCARG(cons_active(cons_first(x0, 0))) -> c4(ACTIVE(first(encArg(x0), 0)), ENCARG(cons_first(x0, 0))) ENCARG(cons_active(cons_first(x0, nil))) -> c4(ACTIVE(first(encArg(x0), nil)), ENCARG(cons_first(x0, nil))) ENCARG(cons_active(cons_first(x0, cons_active(z0)))) -> c4(ACTIVE(first(encArg(x0), active(encArg(z0)))), ENCARG(cons_first(x0, cons_active(z0)))) ENCARG(cons_active(cons_first(x0, cons_mark(z0)))) -> c4(ACTIVE(first(encArg(x0), mark(encArg(z0)))), ENCARG(cons_first(x0, cons_mark(z0)))) ENCARG(cons_active(cons_first(x0, cons_and(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(first(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_first(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_first(x0, cons_add(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_s(z0)))) -> c4(ACTIVE(first(encArg(x0), s(encArg(z0)))), ENCARG(cons_first(x0, cons_s(z0)))) ENCARG(cons_active(cons_first(x0, cons_first(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_from(z0)))) -> c4(ACTIVE(first(encArg(x0), from(encArg(z0)))), ENCARG(cons_first(x0, cons_from(z0)))) ENCARG(cons_active(cons_first(true, x1))) -> c4(ACTIVE(first(true, encArg(x1))), ENCARG(cons_first(true, x1))) ENCARG(cons_active(cons_first(false, x1))) -> c4(ACTIVE(first(false, encArg(x1))), ENCARG(cons_first(false, x1))) ENCARG(cons_active(cons_first(0, x1))) -> c4(ACTIVE(first(0, encArg(x1))), ENCARG(cons_first(0, x1))) ENCARG(cons_active(cons_first(nil, x1))) -> c4(ACTIVE(first(nil, encArg(x1))), ENCARG(cons_first(nil, x1))) ENCARG(cons_active(cons_first(cons_active(z0), x1))) -> c4(ACTIVE(first(active(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_active(z0), x1))) ENCARG(cons_active(cons_first(cons_mark(z0), x1))) -> c4(ACTIVE(first(mark(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_mark(z0), x1))) ENCARG(cons_active(cons_first(cons_and(z0, z1), x1))) -> c4(ACTIVE(first(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(first(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_first(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_first(cons_add(z0, z1), x1))) -> c4(ACTIVE(first(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_s(z0), x1))) -> c4(ACTIVE(first(s(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_s(z0), x1))) ENCARG(cons_active(cons_first(cons_first(z0, z1), x1))) -> c4(ACTIVE(first(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_cons(z0, z1), x1))) -> c4(ACTIVE(first(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_from(z0), x1))) -> c4(ACTIVE(first(from(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_from(z0), x1))) ENCARG(cons_active(cons_cons(x0, true))) -> c4(ACTIVE(cons(encArg(x0), true)), ENCARG(cons_cons(x0, true))) ENCARG(cons_active(cons_cons(x0, false))) -> c4(ACTIVE(cons(encArg(x0), false)), ENCARG(cons_cons(x0, false))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(cons(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_cons(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_cons(x0, cons_add(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(cons(encArg(x0), from(encArg(z0)))), ENCARG(cons_cons(x0, cons_from(z0)))) ENCARG(cons_active(cons_cons(true, x1))) -> c4(ACTIVE(cons(true, encArg(x1))), ENCARG(cons_cons(true, x1))) ENCARG(cons_active(cons_cons(false, x1))) -> c4(ACTIVE(cons(false, encArg(x1))), ENCARG(cons_cons(false, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(cons(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_cons(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_cons(cons_add(z0, z1), x1))) -> c4(ACTIVE(cons(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(cons(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(cons(from(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_from(z0), 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_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c5(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_active(cons_add(z0, z1)))) -> c5(MARK(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c5(MARK(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c5(MARK(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) ENCARG(cons_mark(cons_mark(true))) -> c5(MARK(mark(true)), ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c5(MARK(mark(false)), ENCARG(cons_mark(false))) ENCARG(cons_mark(cons_mark(0))) -> c5(MARK(mark(0)), ENCARG(cons_mark(0))) 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_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c5(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_add(z0, z1)))) -> c5(MARK(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c5(MARK(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c5(MARK(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4, c1_1 ---------------------------------------- (145) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (146) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_active(cons_mark(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c1(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c1(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_and(x0, true))) -> c4(ACTIVE(and(encArg(x0), true)), ENCARG(cons_and(x0, true))) ENCARG(cons_active(cons_and(x0, false))) -> c4(ACTIVE(and(encArg(x0), false)), ENCARG(cons_and(x0, false))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(and(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_and(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_and(x0, cons_add(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(and(encArg(x0), from(encArg(z0)))), ENCARG(cons_and(x0, cons_from(z0)))) ENCARG(cons_active(cons_and(true, x1))) -> c4(ACTIVE(and(true, encArg(x1))), ENCARG(cons_and(true, x1))) ENCARG(cons_active(cons_and(false, x1))) -> c4(ACTIVE(and(false, encArg(x1))), ENCARG(cons_and(false, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_and(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_and(cons_add(z0, z1), x1))) -> c4(ACTIVE(and(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(and(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(and(from(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_from(z0), x1))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, nil))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), nil)), ENCARG(cons_if(x0, x1, nil))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_and(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_and(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, x1, cons_add(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_add(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_first(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_first(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_cons(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_cons(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_from(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), from(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_from(z0)))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c4(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c4(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c4(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, nil, x2))) -> c4(ACTIVE(if(encArg(x0), nil, encArg(x2))), ENCARG(cons_if(x0, nil, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c4(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c4(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_and(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_and(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c4(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(x0, cons_add(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_add(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c4(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_first(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_first(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_cons(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_cons(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_from(z0), x2))) -> c4(ACTIVE(if(encArg(x0), from(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_from(z0), x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c4(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c4(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c4(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(nil, x1, x2))) -> c4(ACTIVE(if(nil, encArg(x1), encArg(x2))), ENCARG(cons_if(nil, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c4(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c4(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_and(z0, z1), x1, x2))) -> c4(ACTIVE(if(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_and(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c4(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_active(cons_if(cons_add(z0, z1), x1, x2))) -> c4(ACTIVE(if(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_add(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c4(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_first(z0, z1), x1, x2))) -> c4(ACTIVE(if(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_first(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_cons(z0, z1), x1, x2))) -> c4(ACTIVE(if(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_cons(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_from(z0), x1, x2))) -> c4(ACTIVE(if(from(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_from(z0), x1, x2))) ENCARG(cons_active(cons_add(x0, true))) -> c4(ACTIVE(add(encArg(x0), true)), ENCARG(cons_add(x0, true))) ENCARG(cons_active(cons_add(x0, false))) -> c4(ACTIVE(add(encArg(x0), false)), ENCARG(cons_add(x0, false))) ENCARG(cons_active(cons_add(x0, 0))) -> c4(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c4(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c4(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c4(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_and(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(add(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_add(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c4(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_from(z0)))) -> c4(ACTIVE(add(encArg(x0), from(encArg(z0)))), ENCARG(cons_add(x0, cons_from(z0)))) ENCARG(cons_active(cons_add(true, x1))) -> c4(ACTIVE(add(true, encArg(x1))), ENCARG(cons_add(true, x1))) ENCARG(cons_active(cons_add(false, x1))) -> c4(ACTIVE(add(false, encArg(x1))), ENCARG(cons_add(false, x1))) ENCARG(cons_active(cons_add(0, x1))) -> c4(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c4(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c4(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c4(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_and(z0, z1), x1))) -> c4(ACTIVE(add(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(add(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_add(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c4(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c4(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c4(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c4(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_from(z0), x1))) -> c4(ACTIVE(add(from(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_from(z0), x1))) 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_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c4(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c4(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(s(from(encArg(z0)))), ENCARG(cons_s(cons_from(z0)))) ENCARG(cons_active(cons_first(x0, true))) -> c4(ACTIVE(first(encArg(x0), true)), ENCARG(cons_first(x0, true))) ENCARG(cons_active(cons_first(x0, false))) -> c4(ACTIVE(first(encArg(x0), false)), ENCARG(cons_first(x0, false))) ENCARG(cons_active(cons_first(x0, 0))) -> c4(ACTIVE(first(encArg(x0), 0)), ENCARG(cons_first(x0, 0))) ENCARG(cons_active(cons_first(x0, nil))) -> c4(ACTIVE(first(encArg(x0), nil)), ENCARG(cons_first(x0, nil))) ENCARG(cons_active(cons_first(x0, cons_active(z0)))) -> c4(ACTIVE(first(encArg(x0), active(encArg(z0)))), ENCARG(cons_first(x0, cons_active(z0)))) ENCARG(cons_active(cons_first(x0, cons_mark(z0)))) -> c4(ACTIVE(first(encArg(x0), mark(encArg(z0)))), ENCARG(cons_first(x0, cons_mark(z0)))) ENCARG(cons_active(cons_first(x0, cons_and(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(first(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_first(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_first(x0, cons_add(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_s(z0)))) -> c4(ACTIVE(first(encArg(x0), s(encArg(z0)))), ENCARG(cons_first(x0, cons_s(z0)))) ENCARG(cons_active(cons_first(x0, cons_first(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_from(z0)))) -> c4(ACTIVE(first(encArg(x0), from(encArg(z0)))), ENCARG(cons_first(x0, cons_from(z0)))) ENCARG(cons_active(cons_first(true, x1))) -> c4(ACTIVE(first(true, encArg(x1))), ENCARG(cons_first(true, x1))) ENCARG(cons_active(cons_first(false, x1))) -> c4(ACTIVE(first(false, encArg(x1))), ENCARG(cons_first(false, x1))) ENCARG(cons_active(cons_first(0, x1))) -> c4(ACTIVE(first(0, encArg(x1))), ENCARG(cons_first(0, x1))) ENCARG(cons_active(cons_first(nil, x1))) -> c4(ACTIVE(first(nil, encArg(x1))), ENCARG(cons_first(nil, x1))) ENCARG(cons_active(cons_first(cons_active(z0), x1))) -> c4(ACTIVE(first(active(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_active(z0), x1))) ENCARG(cons_active(cons_first(cons_mark(z0), x1))) -> c4(ACTIVE(first(mark(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_mark(z0), x1))) ENCARG(cons_active(cons_first(cons_and(z0, z1), x1))) -> c4(ACTIVE(first(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(first(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_first(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_first(cons_add(z0, z1), x1))) -> c4(ACTIVE(first(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_s(z0), x1))) -> c4(ACTIVE(first(s(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_s(z0), x1))) ENCARG(cons_active(cons_first(cons_first(z0, z1), x1))) -> c4(ACTIVE(first(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_cons(z0, z1), x1))) -> c4(ACTIVE(first(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_from(z0), x1))) -> c4(ACTIVE(first(from(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_from(z0), x1))) ENCARG(cons_active(cons_cons(x0, true))) -> c4(ACTIVE(cons(encArg(x0), true)), ENCARG(cons_cons(x0, true))) ENCARG(cons_active(cons_cons(x0, false))) -> c4(ACTIVE(cons(encArg(x0), false)), ENCARG(cons_cons(x0, false))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(cons(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_cons(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_cons(x0, cons_add(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(cons(encArg(x0), from(encArg(z0)))), ENCARG(cons_cons(x0, cons_from(z0)))) ENCARG(cons_active(cons_cons(true, x1))) -> c4(ACTIVE(cons(true, encArg(x1))), ENCARG(cons_cons(true, x1))) ENCARG(cons_active(cons_cons(false, x1))) -> c4(ACTIVE(cons(false, encArg(x1))), ENCARG(cons_cons(false, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(cons(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_cons(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_cons(cons_add(z0, z1), x1))) -> c4(ACTIVE(cons(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(cons(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(cons(from(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_from(z0), 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_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c5(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_active(cons_add(z0, z1)))) -> c5(MARK(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c5(MARK(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c5(MARK(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c5(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_add(z0, z1)))) -> c5(MARK(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c5(MARK(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c5(MARK(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(nil))) -> c2(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4, c1_1, c2_1 ---------------------------------------- (147) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) by ENCARG(cons_and(x0, cons_and(x1, true))) -> c6(AND(encArg(x0), and(encArg(x1), true)), ENCARG(x0), ENCARG(cons_and(x1, true))) ENCARG(cons_and(x0, cons_and(x1, false))) -> c6(AND(encArg(x0), and(encArg(x1), false)), ENCARG(x0), ENCARG(cons_and(x1, false))) ENCARG(cons_and(x0, cons_and(x1, 0))) -> c6(AND(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_and(x0, cons_and(x1, nil))) -> c6(AND(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_and(x0, cons_and(x1, cons_active(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_and(x0, cons_and(x1, cons_mark(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_and(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_if(z0, z1, z2)))) -> c6(AND(encArg(x0), and(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_and(x1, cons_if(z0, z1, z2)))) ENCARG(cons_and(x0, cons_and(x1, cons_add(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_add(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_s(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_and(x0, cons_and(x1, cons_first(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_first(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_from(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), from(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_from(z0)))) ENCARG(cons_and(x0, cons_and(true, x2))) -> c6(AND(encArg(x0), and(true, encArg(x2))), ENCARG(x0), ENCARG(cons_and(true, x2))) ENCARG(cons_and(x0, cons_and(false, x2))) -> c6(AND(encArg(x0), and(false, encArg(x2))), ENCARG(x0), ENCARG(cons_and(false, x2))) ENCARG(cons_and(x0, cons_and(0, x2))) -> c6(AND(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_and(x0, cons_and(nil, x2))) -> c6(AND(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_and(x0, cons_and(cons_active(z0), x2))) -> c6(AND(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_and(x0, cons_and(cons_mark(z0), x2))) -> c6(AND(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_and(x0, cons_and(cons_and(z0, z1), x2))) -> c6(AND(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_if(z0, z1, z2), x2))) -> c6(AND(encArg(x0), and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_if(z0, z1, z2), x2))) ENCARG(cons_and(x0, cons_and(cons_add(z0, z1), x2))) -> c6(AND(encArg(x0), and(add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_add(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_s(z0), x2))) -> c6(AND(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_and(x0, cons_and(cons_first(z0, z1), x2))) -> c6(AND(encArg(x0), and(first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_first(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(AND(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_from(z0), x2))) -> c6(AND(encArg(x0), and(from(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_from(z0), x2))) ENCARG(cons_and(true, cons_and(x1, x2))) -> c6(AND(true, and(encArg(x1), encArg(x2))), ENCARG(true), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(false, cons_and(x1, x2))) -> c6(AND(false, and(encArg(x1), encArg(x2))), ENCARG(false), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(0, cons_and(x1, x2))) -> c6(AND(0, and(encArg(x1), encArg(x2))), ENCARG(0), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(nil, cons_and(x1, x2))) -> c6(AND(nil, and(encArg(x1), encArg(x2))), ENCARG(nil), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_active(z0), cons_and(x1, x2))) -> c6(AND(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_mark(z0), cons_and(x1, x2))) -> c6(AND(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_and(z0, z1), cons_and(x1, x2))) -> c6(AND(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_if(z0, z1, z2), cons_and(x1, x2))) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), and(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_add(z0, z1), cons_and(x1, x2))) -> c6(AND(add(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_add(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_s(z0), cons_and(x1, x2))) -> c6(AND(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_first(z0, z1), cons_and(x1, x2))) -> c6(AND(first(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_first(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(AND(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_from(z0), cons_and(x1, x2))) -> c6(AND(from(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_from(z0)), ENCARG(cons_and(x1, x2))) ---------------------------------------- (148) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_active(cons_mark(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c1(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c1(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_and(x0, true))) -> c4(ACTIVE(and(encArg(x0), true)), ENCARG(cons_and(x0, true))) ENCARG(cons_active(cons_and(x0, false))) -> c4(ACTIVE(and(encArg(x0), false)), ENCARG(cons_and(x0, false))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(and(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_and(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_and(x0, cons_add(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(and(encArg(x0), from(encArg(z0)))), ENCARG(cons_and(x0, cons_from(z0)))) ENCARG(cons_active(cons_and(true, x1))) -> c4(ACTIVE(and(true, encArg(x1))), ENCARG(cons_and(true, x1))) ENCARG(cons_active(cons_and(false, x1))) -> c4(ACTIVE(and(false, encArg(x1))), ENCARG(cons_and(false, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_and(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_and(cons_add(z0, z1), x1))) -> c4(ACTIVE(and(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(and(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(and(from(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_from(z0), x1))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, nil))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), nil)), ENCARG(cons_if(x0, x1, nil))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_and(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_and(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, x1, cons_add(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_add(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_first(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_first(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_cons(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_cons(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_from(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), from(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_from(z0)))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c4(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c4(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c4(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, nil, x2))) -> c4(ACTIVE(if(encArg(x0), nil, encArg(x2))), ENCARG(cons_if(x0, nil, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c4(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c4(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_and(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_and(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c4(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(x0, cons_add(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_add(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c4(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_first(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_first(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_cons(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_cons(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_from(z0), x2))) -> c4(ACTIVE(if(encArg(x0), from(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_from(z0), x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c4(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c4(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c4(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(nil, x1, x2))) -> c4(ACTIVE(if(nil, encArg(x1), encArg(x2))), ENCARG(cons_if(nil, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c4(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c4(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_and(z0, z1), x1, x2))) -> c4(ACTIVE(if(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_and(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c4(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_active(cons_if(cons_add(z0, z1), x1, x2))) -> c4(ACTIVE(if(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_add(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c4(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_first(z0, z1), x1, x2))) -> c4(ACTIVE(if(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_first(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_cons(z0, z1), x1, x2))) -> c4(ACTIVE(if(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_cons(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_from(z0), x1, x2))) -> c4(ACTIVE(if(from(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_from(z0), x1, x2))) ENCARG(cons_active(cons_add(x0, true))) -> c4(ACTIVE(add(encArg(x0), true)), ENCARG(cons_add(x0, true))) ENCARG(cons_active(cons_add(x0, false))) -> c4(ACTIVE(add(encArg(x0), false)), ENCARG(cons_add(x0, false))) ENCARG(cons_active(cons_add(x0, 0))) -> c4(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c4(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c4(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c4(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_and(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(add(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_add(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c4(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_from(z0)))) -> c4(ACTIVE(add(encArg(x0), from(encArg(z0)))), ENCARG(cons_add(x0, cons_from(z0)))) ENCARG(cons_active(cons_add(true, x1))) -> c4(ACTIVE(add(true, encArg(x1))), ENCARG(cons_add(true, x1))) ENCARG(cons_active(cons_add(false, x1))) -> c4(ACTIVE(add(false, encArg(x1))), ENCARG(cons_add(false, x1))) ENCARG(cons_active(cons_add(0, x1))) -> c4(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c4(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c4(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c4(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_and(z0, z1), x1))) -> c4(ACTIVE(add(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(add(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_add(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c4(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c4(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c4(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c4(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_from(z0), x1))) -> c4(ACTIVE(add(from(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_from(z0), x1))) 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_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c4(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c4(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(s(from(encArg(z0)))), ENCARG(cons_s(cons_from(z0)))) ENCARG(cons_active(cons_first(x0, true))) -> c4(ACTIVE(first(encArg(x0), true)), ENCARG(cons_first(x0, true))) ENCARG(cons_active(cons_first(x0, false))) -> c4(ACTIVE(first(encArg(x0), false)), ENCARG(cons_first(x0, false))) ENCARG(cons_active(cons_first(x0, 0))) -> c4(ACTIVE(first(encArg(x0), 0)), ENCARG(cons_first(x0, 0))) ENCARG(cons_active(cons_first(x0, nil))) -> c4(ACTIVE(first(encArg(x0), nil)), ENCARG(cons_first(x0, nil))) ENCARG(cons_active(cons_first(x0, cons_active(z0)))) -> c4(ACTIVE(first(encArg(x0), active(encArg(z0)))), ENCARG(cons_first(x0, cons_active(z0)))) ENCARG(cons_active(cons_first(x0, cons_mark(z0)))) -> c4(ACTIVE(first(encArg(x0), mark(encArg(z0)))), ENCARG(cons_first(x0, cons_mark(z0)))) ENCARG(cons_active(cons_first(x0, cons_and(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(first(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_first(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_first(x0, cons_add(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_s(z0)))) -> c4(ACTIVE(first(encArg(x0), s(encArg(z0)))), ENCARG(cons_first(x0, cons_s(z0)))) ENCARG(cons_active(cons_first(x0, cons_first(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_from(z0)))) -> c4(ACTIVE(first(encArg(x0), from(encArg(z0)))), ENCARG(cons_first(x0, cons_from(z0)))) ENCARG(cons_active(cons_first(true, x1))) -> c4(ACTIVE(first(true, encArg(x1))), ENCARG(cons_first(true, x1))) ENCARG(cons_active(cons_first(false, x1))) -> c4(ACTIVE(first(false, encArg(x1))), ENCARG(cons_first(false, x1))) ENCARG(cons_active(cons_first(0, x1))) -> c4(ACTIVE(first(0, encArg(x1))), ENCARG(cons_first(0, x1))) ENCARG(cons_active(cons_first(nil, x1))) -> c4(ACTIVE(first(nil, encArg(x1))), ENCARG(cons_first(nil, x1))) ENCARG(cons_active(cons_first(cons_active(z0), x1))) -> c4(ACTIVE(first(active(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_active(z0), x1))) ENCARG(cons_active(cons_first(cons_mark(z0), x1))) -> c4(ACTIVE(first(mark(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_mark(z0), x1))) ENCARG(cons_active(cons_first(cons_and(z0, z1), x1))) -> c4(ACTIVE(first(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(first(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_first(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_first(cons_add(z0, z1), x1))) -> c4(ACTIVE(first(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_s(z0), x1))) -> c4(ACTIVE(first(s(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_s(z0), x1))) ENCARG(cons_active(cons_first(cons_first(z0, z1), x1))) -> c4(ACTIVE(first(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_cons(z0, z1), x1))) -> c4(ACTIVE(first(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_from(z0), x1))) -> c4(ACTIVE(first(from(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_from(z0), x1))) ENCARG(cons_active(cons_cons(x0, true))) -> c4(ACTIVE(cons(encArg(x0), true)), ENCARG(cons_cons(x0, true))) ENCARG(cons_active(cons_cons(x0, false))) -> c4(ACTIVE(cons(encArg(x0), false)), ENCARG(cons_cons(x0, false))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(cons(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_cons(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_cons(x0, cons_add(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(cons(encArg(x0), from(encArg(z0)))), ENCARG(cons_cons(x0, cons_from(z0)))) ENCARG(cons_active(cons_cons(true, x1))) -> c4(ACTIVE(cons(true, encArg(x1))), ENCARG(cons_cons(true, x1))) ENCARG(cons_active(cons_cons(false, x1))) -> c4(ACTIVE(cons(false, encArg(x1))), ENCARG(cons_cons(false, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(cons(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_cons(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_cons(cons_add(z0, z1), x1))) -> c4(ACTIVE(cons(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(cons(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(cons(from(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_from(z0), 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_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c5(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_active(cons_add(z0, z1)))) -> c5(MARK(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c5(MARK(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c5(MARK(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c5(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_add(z0, z1)))) -> c5(MARK(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c5(MARK(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c5(MARK(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(nil))) -> c2(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_and(x0, cons_and(x1, true))) -> c6(AND(encArg(x0), and(encArg(x1), true)), ENCARG(x0), ENCARG(cons_and(x1, true))) ENCARG(cons_and(x0, cons_and(x1, false))) -> c6(AND(encArg(x0), and(encArg(x1), false)), ENCARG(x0), ENCARG(cons_and(x1, false))) ENCARG(cons_and(x0, cons_and(x1, 0))) -> c6(AND(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_and(x0, cons_and(x1, nil))) -> c6(AND(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_and(x0, cons_and(x1, cons_active(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_and(x0, cons_and(x1, cons_mark(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_and(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_if(z0, z1, z2)))) -> c6(AND(encArg(x0), and(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_and(x1, cons_if(z0, z1, z2)))) ENCARG(cons_and(x0, cons_and(x1, cons_add(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_add(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_s(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_and(x0, cons_and(x1, cons_first(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_first(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_from(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), from(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_from(z0)))) ENCARG(cons_and(x0, cons_and(true, x2))) -> c6(AND(encArg(x0), and(true, encArg(x2))), ENCARG(x0), ENCARG(cons_and(true, x2))) ENCARG(cons_and(x0, cons_and(false, x2))) -> c6(AND(encArg(x0), and(false, encArg(x2))), ENCARG(x0), ENCARG(cons_and(false, x2))) ENCARG(cons_and(x0, cons_and(0, x2))) -> c6(AND(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_and(x0, cons_and(nil, x2))) -> c6(AND(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_and(x0, cons_and(cons_active(z0), x2))) -> c6(AND(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_and(x0, cons_and(cons_mark(z0), x2))) -> c6(AND(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_and(x0, cons_and(cons_and(z0, z1), x2))) -> c6(AND(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_if(z0, z1, z2), x2))) -> c6(AND(encArg(x0), and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_if(z0, z1, z2), x2))) ENCARG(cons_and(x0, cons_and(cons_add(z0, z1), x2))) -> c6(AND(encArg(x0), and(add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_add(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_s(z0), x2))) -> c6(AND(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_and(x0, cons_and(cons_first(z0, z1), x2))) -> c6(AND(encArg(x0), and(first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_first(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(AND(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_from(z0), x2))) -> c6(AND(encArg(x0), and(from(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_from(z0), x2))) ENCARG(cons_and(true, cons_and(x1, x2))) -> c6(AND(true, and(encArg(x1), encArg(x2))), ENCARG(true), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(false, cons_and(x1, x2))) -> c6(AND(false, and(encArg(x1), encArg(x2))), ENCARG(false), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(0, cons_and(x1, x2))) -> c6(AND(0, and(encArg(x1), encArg(x2))), ENCARG(0), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(nil, cons_and(x1, x2))) -> c6(AND(nil, and(encArg(x1), encArg(x2))), ENCARG(nil), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_active(z0), cons_and(x1, x2))) -> c6(AND(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_mark(z0), cons_and(x1, x2))) -> c6(AND(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_and(z0, z1), cons_and(x1, x2))) -> c6(AND(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_if(z0, z1, z2), cons_and(x1, x2))) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), and(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_add(z0, z1), cons_and(x1, x2))) -> c6(AND(add(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_add(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_s(z0), cons_and(x1, x2))) -> c6(AND(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_first(z0, z1), cons_and(x1, x2))) -> c6(AND(first(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_first(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(AND(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_from(z0), cons_and(x1, x2))) -> c6(AND(from(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_from(z0)), ENCARG(cons_and(x1, x2))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4, c1_1, c2_1 ---------------------------------------- (149) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (150) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_active(cons_mark(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c1(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c1(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_and(x0, true))) -> c4(ACTIVE(and(encArg(x0), true)), ENCARG(cons_and(x0, true))) ENCARG(cons_active(cons_and(x0, false))) -> c4(ACTIVE(and(encArg(x0), false)), ENCARG(cons_and(x0, false))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(and(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_and(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_and(x0, cons_add(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(and(encArg(x0), from(encArg(z0)))), ENCARG(cons_and(x0, cons_from(z0)))) ENCARG(cons_active(cons_and(true, x1))) -> c4(ACTIVE(and(true, encArg(x1))), ENCARG(cons_and(true, x1))) ENCARG(cons_active(cons_and(false, x1))) -> c4(ACTIVE(and(false, encArg(x1))), ENCARG(cons_and(false, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_and(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_and(cons_add(z0, z1), x1))) -> c4(ACTIVE(and(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(and(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(and(from(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_from(z0), x1))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, nil))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), nil)), ENCARG(cons_if(x0, x1, nil))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_and(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_and(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, x1, cons_add(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_add(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_first(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_first(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_cons(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_cons(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_from(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), from(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_from(z0)))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c4(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c4(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c4(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, nil, x2))) -> c4(ACTIVE(if(encArg(x0), nil, encArg(x2))), ENCARG(cons_if(x0, nil, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c4(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c4(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_and(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_and(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c4(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(x0, cons_add(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_add(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c4(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_first(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_first(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_cons(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_cons(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_from(z0), x2))) -> c4(ACTIVE(if(encArg(x0), from(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_from(z0), x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c4(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c4(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c4(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(nil, x1, x2))) -> c4(ACTIVE(if(nil, encArg(x1), encArg(x2))), ENCARG(cons_if(nil, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c4(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c4(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_and(z0, z1), x1, x2))) -> c4(ACTIVE(if(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_and(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c4(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_active(cons_if(cons_add(z0, z1), x1, x2))) -> c4(ACTIVE(if(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_add(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c4(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_first(z0, z1), x1, x2))) -> c4(ACTIVE(if(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_first(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_cons(z0, z1), x1, x2))) -> c4(ACTIVE(if(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_cons(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_from(z0), x1, x2))) -> c4(ACTIVE(if(from(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_from(z0), x1, x2))) ENCARG(cons_active(cons_add(x0, true))) -> c4(ACTIVE(add(encArg(x0), true)), ENCARG(cons_add(x0, true))) ENCARG(cons_active(cons_add(x0, false))) -> c4(ACTIVE(add(encArg(x0), false)), ENCARG(cons_add(x0, false))) ENCARG(cons_active(cons_add(x0, 0))) -> c4(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c4(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c4(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c4(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_and(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(add(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_add(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c4(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_from(z0)))) -> c4(ACTIVE(add(encArg(x0), from(encArg(z0)))), ENCARG(cons_add(x0, cons_from(z0)))) ENCARG(cons_active(cons_add(true, x1))) -> c4(ACTIVE(add(true, encArg(x1))), ENCARG(cons_add(true, x1))) ENCARG(cons_active(cons_add(false, x1))) -> c4(ACTIVE(add(false, encArg(x1))), ENCARG(cons_add(false, x1))) ENCARG(cons_active(cons_add(0, x1))) -> c4(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c4(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c4(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c4(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_and(z0, z1), x1))) -> c4(ACTIVE(add(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(add(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_add(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c4(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c4(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c4(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c4(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_from(z0), x1))) -> c4(ACTIVE(add(from(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_from(z0), x1))) 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_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c4(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c4(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(s(from(encArg(z0)))), ENCARG(cons_s(cons_from(z0)))) ENCARG(cons_active(cons_first(x0, true))) -> c4(ACTIVE(first(encArg(x0), true)), ENCARG(cons_first(x0, true))) ENCARG(cons_active(cons_first(x0, false))) -> c4(ACTIVE(first(encArg(x0), false)), ENCARG(cons_first(x0, false))) ENCARG(cons_active(cons_first(x0, 0))) -> c4(ACTIVE(first(encArg(x0), 0)), ENCARG(cons_first(x0, 0))) ENCARG(cons_active(cons_first(x0, nil))) -> c4(ACTIVE(first(encArg(x0), nil)), ENCARG(cons_first(x0, nil))) ENCARG(cons_active(cons_first(x0, cons_active(z0)))) -> c4(ACTIVE(first(encArg(x0), active(encArg(z0)))), ENCARG(cons_first(x0, cons_active(z0)))) ENCARG(cons_active(cons_first(x0, cons_mark(z0)))) -> c4(ACTIVE(first(encArg(x0), mark(encArg(z0)))), ENCARG(cons_first(x0, cons_mark(z0)))) ENCARG(cons_active(cons_first(x0, cons_and(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(first(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_first(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_first(x0, cons_add(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_s(z0)))) -> c4(ACTIVE(first(encArg(x0), s(encArg(z0)))), ENCARG(cons_first(x0, cons_s(z0)))) ENCARG(cons_active(cons_first(x0, cons_first(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_from(z0)))) -> c4(ACTIVE(first(encArg(x0), from(encArg(z0)))), ENCARG(cons_first(x0, cons_from(z0)))) ENCARG(cons_active(cons_first(true, x1))) -> c4(ACTIVE(first(true, encArg(x1))), ENCARG(cons_first(true, x1))) ENCARG(cons_active(cons_first(false, x1))) -> c4(ACTIVE(first(false, encArg(x1))), ENCARG(cons_first(false, x1))) ENCARG(cons_active(cons_first(0, x1))) -> c4(ACTIVE(first(0, encArg(x1))), ENCARG(cons_first(0, x1))) ENCARG(cons_active(cons_first(nil, x1))) -> c4(ACTIVE(first(nil, encArg(x1))), ENCARG(cons_first(nil, x1))) ENCARG(cons_active(cons_first(cons_active(z0), x1))) -> c4(ACTIVE(first(active(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_active(z0), x1))) ENCARG(cons_active(cons_first(cons_mark(z0), x1))) -> c4(ACTIVE(first(mark(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_mark(z0), x1))) ENCARG(cons_active(cons_first(cons_and(z0, z1), x1))) -> c4(ACTIVE(first(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(first(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_first(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_first(cons_add(z0, z1), x1))) -> c4(ACTIVE(first(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_s(z0), x1))) -> c4(ACTIVE(first(s(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_s(z0), x1))) ENCARG(cons_active(cons_first(cons_first(z0, z1), x1))) -> c4(ACTIVE(first(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_cons(z0, z1), x1))) -> c4(ACTIVE(first(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_from(z0), x1))) -> c4(ACTIVE(first(from(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_from(z0), x1))) ENCARG(cons_active(cons_cons(x0, true))) -> c4(ACTIVE(cons(encArg(x0), true)), ENCARG(cons_cons(x0, true))) ENCARG(cons_active(cons_cons(x0, false))) -> c4(ACTIVE(cons(encArg(x0), false)), ENCARG(cons_cons(x0, false))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(cons(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_cons(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_cons(x0, cons_add(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(cons(encArg(x0), from(encArg(z0)))), ENCARG(cons_cons(x0, cons_from(z0)))) ENCARG(cons_active(cons_cons(true, x1))) -> c4(ACTIVE(cons(true, encArg(x1))), ENCARG(cons_cons(true, x1))) ENCARG(cons_active(cons_cons(false, x1))) -> c4(ACTIVE(cons(false, encArg(x1))), ENCARG(cons_cons(false, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(cons(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_cons(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_cons(cons_add(z0, z1), x1))) -> c4(ACTIVE(cons(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(cons(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(cons(from(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_from(z0), 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_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c5(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_active(cons_add(z0, z1)))) -> c5(MARK(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c5(MARK(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c5(MARK(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c5(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_add(z0, z1)))) -> c5(MARK(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c5(MARK(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c5(MARK(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(nil))) -> c2(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_and(x0, cons_and(x1, true))) -> c6(AND(encArg(x0), and(encArg(x1), true)), ENCARG(x0), ENCARG(cons_and(x1, true))) ENCARG(cons_and(x0, cons_and(x1, false))) -> c6(AND(encArg(x0), and(encArg(x1), false)), ENCARG(x0), ENCARG(cons_and(x1, false))) ENCARG(cons_and(x0, cons_and(x1, 0))) -> c6(AND(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_and(x0, cons_and(x1, nil))) -> c6(AND(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_and(x0, cons_and(x1, cons_active(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_and(x0, cons_and(x1, cons_mark(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_and(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_if(z0, z1, z2)))) -> c6(AND(encArg(x0), and(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_and(x1, cons_if(z0, z1, z2)))) ENCARG(cons_and(x0, cons_and(x1, cons_add(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_add(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_s(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_and(x0, cons_and(x1, cons_first(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_first(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_from(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), from(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_from(z0)))) ENCARG(cons_and(x0, cons_and(true, x2))) -> c6(AND(encArg(x0), and(true, encArg(x2))), ENCARG(x0), ENCARG(cons_and(true, x2))) ENCARG(cons_and(x0, cons_and(false, x2))) -> c6(AND(encArg(x0), and(false, encArg(x2))), ENCARG(x0), ENCARG(cons_and(false, x2))) ENCARG(cons_and(x0, cons_and(0, x2))) -> c6(AND(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_and(x0, cons_and(nil, x2))) -> c6(AND(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_and(x0, cons_and(cons_active(z0), x2))) -> c6(AND(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_and(x0, cons_and(cons_mark(z0), x2))) -> c6(AND(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_and(x0, cons_and(cons_and(z0, z1), x2))) -> c6(AND(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_if(z0, z1, z2), x2))) -> c6(AND(encArg(x0), and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_if(z0, z1, z2), x2))) ENCARG(cons_and(x0, cons_and(cons_add(z0, z1), x2))) -> c6(AND(encArg(x0), and(add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_add(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_s(z0), x2))) -> c6(AND(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_and(x0, cons_and(cons_first(z0, z1), x2))) -> c6(AND(encArg(x0), and(first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_first(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(AND(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_from(z0), x2))) -> c6(AND(encArg(x0), and(from(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_from(z0), x2))) ENCARG(cons_and(cons_active(z0), cons_and(x1, x2))) -> c6(AND(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_mark(z0), cons_and(x1, x2))) -> c6(AND(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_and(z0, z1), cons_and(x1, x2))) -> c6(AND(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_if(z0, z1, z2), cons_and(x1, x2))) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), and(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_add(z0, z1), cons_and(x1, x2))) -> c6(AND(add(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_add(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_s(z0), cons_and(x1, x2))) -> c6(AND(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_first(z0, z1), cons_and(x1, x2))) -> c6(AND(first(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_first(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(AND(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_from(z0), cons_and(x1, x2))) -> c6(AND(from(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_from(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(true, cons_and(x1, x2))) -> c6(AND(true, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(false, cons_and(x1, x2))) -> c6(AND(false, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(0, cons_and(x1, x2))) -> c6(AND(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(nil, cons_and(x1, x2))) -> c6(AND(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4, c1_1, c2_1 ---------------------------------------- (151) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_and(x0, cons_if(z0, z1, z2))) -> c6(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) by ENCARG(cons_and(x0, cons_if(x1, x2, true))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), true)), ENCARG(x0), ENCARG(cons_if(x1, x2, true))) ENCARG(cons_and(x0, cons_if(x1, x2, false))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), false)), ENCARG(x0), ENCARG(cons_if(x1, x2, false))) ENCARG(cons_and(x0, cons_if(x1, x2, 0))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), 0)), ENCARG(x0), ENCARG(cons_if(x1, x2, 0))) ENCARG(cons_and(x0, cons_if(x1, x2, nil))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), nil)), ENCARG(x0), ENCARG(cons_if(x1, x2, nil))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_active(z0)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_active(z0)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_mark(z0)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_mark(z0)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_and(z0, z1)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_and(z0, z1)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_if(z0, z1, z2)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_if(z0, z1, z2)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_add(z0, z1)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), add(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_add(z0, z1)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_s(z0)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_s(z0)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_first(z0, z1)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), first(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_first(z0, z1)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_cons(z0, z1)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_cons(z0, z1)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_from(z0)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), from(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_from(z0)))) ENCARG(cons_and(x0, cons_if(x1, true, x3))) -> c6(AND(encArg(x0), if(encArg(x1), true, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, true, x3))) ENCARG(cons_and(x0, cons_if(x1, false, x3))) -> c6(AND(encArg(x0), if(encArg(x1), false, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, false, x3))) ENCARG(cons_and(x0, cons_if(x1, 0, x3))) -> c6(AND(encArg(x0), if(encArg(x1), 0, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, 0, x3))) ENCARG(cons_and(x0, cons_if(x1, nil, x3))) -> c6(AND(encArg(x0), if(encArg(x1), nil, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, nil, x3))) ENCARG(cons_and(x0, cons_if(x1, cons_active(z0), x3))) -> c6(AND(encArg(x0), if(encArg(x1), active(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_active(z0), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_mark(z0), x3))) -> c6(AND(encArg(x0), if(encArg(x1), mark(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_mark(z0), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_and(z0, z1), x3))) -> c6(AND(encArg(x0), if(encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_and(z0, z1), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_if(z0, z1, z2), x3))) -> c6(AND(encArg(x0), if(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_if(z0, z1, z2), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_add(z0, z1), x3))) -> c6(AND(encArg(x0), if(encArg(x1), add(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_add(z0, z1), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_s(z0), x3))) -> c6(AND(encArg(x0), if(encArg(x1), s(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_s(z0), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_first(z0, z1), x3))) -> c6(AND(encArg(x0), if(encArg(x1), first(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_first(z0, z1), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_cons(z0, z1), x3))) -> c6(AND(encArg(x0), if(encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_cons(z0, z1), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_from(z0), x3))) -> c6(AND(encArg(x0), if(encArg(x1), from(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_from(z0), x3))) ENCARG(cons_and(x0, cons_if(true, x2, x3))) -> c6(AND(encArg(x0), if(true, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(true, x2, x3))) ENCARG(cons_and(x0, cons_if(false, x2, x3))) -> c6(AND(encArg(x0), if(false, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(false, x2, x3))) ENCARG(cons_and(x0, cons_if(0, x2, x3))) -> c6(AND(encArg(x0), if(0, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(0, x2, x3))) ENCARG(cons_and(x0, cons_if(nil, x2, x3))) -> c6(AND(encArg(x0), if(nil, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(nil, x2, x3))) ENCARG(cons_and(x0, cons_if(cons_active(z0), x2, x3))) -> c6(AND(encArg(x0), if(active(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_active(z0), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_mark(z0), x2, x3))) -> c6(AND(encArg(x0), if(mark(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_mark(z0), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_and(z0, z1), x2, x3))) -> c6(AND(encArg(x0), if(and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_and(z0, z1), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_if(z0, z1, z2), x2, x3))) -> c6(AND(encArg(x0), if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_if(z0, z1, z2), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_add(z0, z1), x2, x3))) -> c6(AND(encArg(x0), if(add(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_add(z0, z1), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_s(z0), x2, x3))) -> c6(AND(encArg(x0), if(s(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_s(z0), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_first(z0, z1), x2, x3))) -> c6(AND(encArg(x0), if(first(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_first(z0, z1), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_cons(z0, z1), x2, x3))) -> c6(AND(encArg(x0), if(cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_cons(z0, z1), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_from(z0), x2, x3))) -> c6(AND(encArg(x0), if(from(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_from(z0), x2, x3))) ENCARG(cons_and(true, cons_if(x1, x2, x3))) -> c6(AND(true, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(true), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(false, cons_if(x1, x2, x3))) -> c6(AND(false, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(false), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(0, cons_if(x1, x2, x3))) -> c6(AND(0, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(0), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(nil, cons_if(x1, x2, x3))) -> c6(AND(nil, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(nil), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_active(z0), cons_if(x1, x2, x3))) -> c6(AND(active(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_active(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_mark(z0), cons_if(x1, x2, x3))) -> c6(AND(mark(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_mark(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_and(z0, z1), cons_if(x1, x2, x3))) -> c6(AND(and(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_and(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_if(z0, z1, z2), cons_if(x1, x2, x3))) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_add(z0, z1), cons_if(x1, x2, x3))) -> c6(AND(add(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_add(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_s(z0), cons_if(x1, x2, x3))) -> c6(AND(s(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_s(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_first(z0, z1), cons_if(x1, x2, x3))) -> c6(AND(first(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_first(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_cons(z0, z1), cons_if(x1, x2, x3))) -> c6(AND(cons(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_from(z0), cons_if(x1, x2, x3))) -> c6(AND(from(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_from(z0)), ENCARG(cons_if(x1, x2, x3))) ---------------------------------------- (152) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_active(cons_mark(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c1(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c1(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_and(x0, true))) -> c4(ACTIVE(and(encArg(x0), true)), ENCARG(cons_and(x0, true))) ENCARG(cons_active(cons_and(x0, false))) -> c4(ACTIVE(and(encArg(x0), false)), ENCARG(cons_and(x0, false))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(and(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_and(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_and(x0, cons_add(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(and(encArg(x0), from(encArg(z0)))), ENCARG(cons_and(x0, cons_from(z0)))) ENCARG(cons_active(cons_and(true, x1))) -> c4(ACTIVE(and(true, encArg(x1))), ENCARG(cons_and(true, x1))) ENCARG(cons_active(cons_and(false, x1))) -> c4(ACTIVE(and(false, encArg(x1))), ENCARG(cons_and(false, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_and(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_and(cons_add(z0, z1), x1))) -> c4(ACTIVE(and(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(and(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(and(from(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_from(z0), x1))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, nil))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), nil)), ENCARG(cons_if(x0, x1, nil))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_and(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_and(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, x1, cons_add(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_add(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_first(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_first(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_cons(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_cons(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_from(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), from(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_from(z0)))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c4(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c4(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c4(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, nil, x2))) -> c4(ACTIVE(if(encArg(x0), nil, encArg(x2))), ENCARG(cons_if(x0, nil, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c4(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c4(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_and(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_and(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c4(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(x0, cons_add(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_add(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c4(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_first(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_first(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_cons(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_cons(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_from(z0), x2))) -> c4(ACTIVE(if(encArg(x0), from(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_from(z0), x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c4(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c4(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c4(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(nil, x1, x2))) -> c4(ACTIVE(if(nil, encArg(x1), encArg(x2))), ENCARG(cons_if(nil, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c4(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c4(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_and(z0, z1), x1, x2))) -> c4(ACTIVE(if(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_and(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c4(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_active(cons_if(cons_add(z0, z1), x1, x2))) -> c4(ACTIVE(if(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_add(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c4(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_first(z0, z1), x1, x2))) -> c4(ACTIVE(if(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_first(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_cons(z0, z1), x1, x2))) -> c4(ACTIVE(if(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_cons(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_from(z0), x1, x2))) -> c4(ACTIVE(if(from(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_from(z0), x1, x2))) ENCARG(cons_active(cons_add(x0, true))) -> c4(ACTIVE(add(encArg(x0), true)), ENCARG(cons_add(x0, true))) ENCARG(cons_active(cons_add(x0, false))) -> c4(ACTIVE(add(encArg(x0), false)), ENCARG(cons_add(x0, false))) ENCARG(cons_active(cons_add(x0, 0))) -> c4(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c4(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c4(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c4(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_and(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(add(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_add(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c4(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_from(z0)))) -> c4(ACTIVE(add(encArg(x0), from(encArg(z0)))), ENCARG(cons_add(x0, cons_from(z0)))) ENCARG(cons_active(cons_add(true, x1))) -> c4(ACTIVE(add(true, encArg(x1))), ENCARG(cons_add(true, x1))) ENCARG(cons_active(cons_add(false, x1))) -> c4(ACTIVE(add(false, encArg(x1))), ENCARG(cons_add(false, x1))) ENCARG(cons_active(cons_add(0, x1))) -> c4(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c4(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c4(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c4(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_and(z0, z1), x1))) -> c4(ACTIVE(add(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(add(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_add(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c4(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c4(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c4(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c4(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_from(z0), x1))) -> c4(ACTIVE(add(from(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_from(z0), x1))) 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_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c4(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c4(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(s(from(encArg(z0)))), ENCARG(cons_s(cons_from(z0)))) ENCARG(cons_active(cons_first(x0, true))) -> c4(ACTIVE(first(encArg(x0), true)), ENCARG(cons_first(x0, true))) ENCARG(cons_active(cons_first(x0, false))) -> c4(ACTIVE(first(encArg(x0), false)), ENCARG(cons_first(x0, false))) ENCARG(cons_active(cons_first(x0, 0))) -> c4(ACTIVE(first(encArg(x0), 0)), ENCARG(cons_first(x0, 0))) ENCARG(cons_active(cons_first(x0, nil))) -> c4(ACTIVE(first(encArg(x0), nil)), ENCARG(cons_first(x0, nil))) ENCARG(cons_active(cons_first(x0, cons_active(z0)))) -> c4(ACTIVE(first(encArg(x0), active(encArg(z0)))), ENCARG(cons_first(x0, cons_active(z0)))) ENCARG(cons_active(cons_first(x0, cons_mark(z0)))) -> c4(ACTIVE(first(encArg(x0), mark(encArg(z0)))), ENCARG(cons_first(x0, cons_mark(z0)))) ENCARG(cons_active(cons_first(x0, cons_and(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(first(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_first(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_first(x0, cons_add(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_s(z0)))) -> c4(ACTIVE(first(encArg(x0), s(encArg(z0)))), ENCARG(cons_first(x0, cons_s(z0)))) ENCARG(cons_active(cons_first(x0, cons_first(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_from(z0)))) -> c4(ACTIVE(first(encArg(x0), from(encArg(z0)))), ENCARG(cons_first(x0, cons_from(z0)))) ENCARG(cons_active(cons_first(true, x1))) -> c4(ACTIVE(first(true, encArg(x1))), ENCARG(cons_first(true, x1))) ENCARG(cons_active(cons_first(false, x1))) -> c4(ACTIVE(first(false, encArg(x1))), ENCARG(cons_first(false, x1))) ENCARG(cons_active(cons_first(0, x1))) -> c4(ACTIVE(first(0, encArg(x1))), ENCARG(cons_first(0, x1))) ENCARG(cons_active(cons_first(nil, x1))) -> c4(ACTIVE(first(nil, encArg(x1))), ENCARG(cons_first(nil, x1))) ENCARG(cons_active(cons_first(cons_active(z0), x1))) -> c4(ACTIVE(first(active(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_active(z0), x1))) ENCARG(cons_active(cons_first(cons_mark(z0), x1))) -> c4(ACTIVE(first(mark(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_mark(z0), x1))) ENCARG(cons_active(cons_first(cons_and(z0, z1), x1))) -> c4(ACTIVE(first(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(first(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_first(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_first(cons_add(z0, z1), x1))) -> c4(ACTIVE(first(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_s(z0), x1))) -> c4(ACTIVE(first(s(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_s(z0), x1))) ENCARG(cons_active(cons_first(cons_first(z0, z1), x1))) -> c4(ACTIVE(first(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_cons(z0, z1), x1))) -> c4(ACTIVE(first(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_from(z0), x1))) -> c4(ACTIVE(first(from(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_from(z0), x1))) ENCARG(cons_active(cons_cons(x0, true))) -> c4(ACTIVE(cons(encArg(x0), true)), ENCARG(cons_cons(x0, true))) ENCARG(cons_active(cons_cons(x0, false))) -> c4(ACTIVE(cons(encArg(x0), false)), ENCARG(cons_cons(x0, false))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(cons(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_cons(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_cons(x0, cons_add(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(cons(encArg(x0), from(encArg(z0)))), ENCARG(cons_cons(x0, cons_from(z0)))) ENCARG(cons_active(cons_cons(true, x1))) -> c4(ACTIVE(cons(true, encArg(x1))), ENCARG(cons_cons(true, x1))) ENCARG(cons_active(cons_cons(false, x1))) -> c4(ACTIVE(cons(false, encArg(x1))), ENCARG(cons_cons(false, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(cons(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_cons(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_cons(cons_add(z0, z1), x1))) -> c4(ACTIVE(cons(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(cons(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(cons(from(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_from(z0), 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_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c5(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_active(cons_add(z0, z1)))) -> c5(MARK(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c5(MARK(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c5(MARK(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c5(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_add(z0, z1)))) -> c5(MARK(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c5(MARK(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c5(MARK(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(nil))) -> c2(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_and(x0, cons_and(x1, true))) -> c6(AND(encArg(x0), and(encArg(x1), true)), ENCARG(x0), ENCARG(cons_and(x1, true))) ENCARG(cons_and(x0, cons_and(x1, false))) -> c6(AND(encArg(x0), and(encArg(x1), false)), ENCARG(x0), ENCARG(cons_and(x1, false))) ENCARG(cons_and(x0, cons_and(x1, 0))) -> c6(AND(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_and(x0, cons_and(x1, nil))) -> c6(AND(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_and(x0, cons_and(x1, cons_active(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_and(x0, cons_and(x1, cons_mark(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_and(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_if(z0, z1, z2)))) -> c6(AND(encArg(x0), and(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_and(x1, cons_if(z0, z1, z2)))) ENCARG(cons_and(x0, cons_and(x1, cons_add(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_add(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_s(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_and(x0, cons_and(x1, cons_first(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_first(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_from(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), from(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_from(z0)))) ENCARG(cons_and(x0, cons_and(true, x2))) -> c6(AND(encArg(x0), and(true, encArg(x2))), ENCARG(x0), ENCARG(cons_and(true, x2))) ENCARG(cons_and(x0, cons_and(false, x2))) -> c6(AND(encArg(x0), and(false, encArg(x2))), ENCARG(x0), ENCARG(cons_and(false, x2))) ENCARG(cons_and(x0, cons_and(0, x2))) -> c6(AND(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_and(x0, cons_and(nil, x2))) -> c6(AND(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_and(x0, cons_and(cons_active(z0), x2))) -> c6(AND(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_and(x0, cons_and(cons_mark(z0), x2))) -> c6(AND(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_and(x0, cons_and(cons_and(z0, z1), x2))) -> c6(AND(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_if(z0, z1, z2), x2))) -> c6(AND(encArg(x0), and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_if(z0, z1, z2), x2))) ENCARG(cons_and(x0, cons_and(cons_add(z0, z1), x2))) -> c6(AND(encArg(x0), and(add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_add(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_s(z0), x2))) -> c6(AND(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_and(x0, cons_and(cons_first(z0, z1), x2))) -> c6(AND(encArg(x0), and(first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_first(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(AND(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_from(z0), x2))) -> c6(AND(encArg(x0), and(from(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_from(z0), x2))) ENCARG(cons_and(cons_active(z0), cons_and(x1, x2))) -> c6(AND(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_mark(z0), cons_and(x1, x2))) -> c6(AND(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_and(z0, z1), cons_and(x1, x2))) -> c6(AND(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_if(z0, z1, z2), cons_and(x1, x2))) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), and(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_add(z0, z1), cons_and(x1, x2))) -> c6(AND(add(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_add(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_s(z0), cons_and(x1, x2))) -> c6(AND(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_first(z0, z1), cons_and(x1, x2))) -> c6(AND(first(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_first(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(AND(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_from(z0), cons_and(x1, x2))) -> c6(AND(from(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_from(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(true, cons_and(x1, x2))) -> c6(AND(true, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(false, cons_and(x1, x2))) -> c6(AND(false, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(0, cons_and(x1, x2))) -> c6(AND(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(nil, cons_and(x1, x2))) -> c6(AND(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(x0, cons_if(x1, x2, true))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), true)), ENCARG(x0), ENCARG(cons_if(x1, x2, true))) ENCARG(cons_and(x0, cons_if(x1, x2, false))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), false)), ENCARG(x0), ENCARG(cons_if(x1, x2, false))) ENCARG(cons_and(x0, cons_if(x1, x2, 0))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), 0)), ENCARG(x0), ENCARG(cons_if(x1, x2, 0))) ENCARG(cons_and(x0, cons_if(x1, x2, nil))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), nil)), ENCARG(x0), ENCARG(cons_if(x1, x2, nil))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_active(z0)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_active(z0)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_mark(z0)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_mark(z0)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_and(z0, z1)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_and(z0, z1)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_if(z0, z1, z2)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_if(z0, z1, z2)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_add(z0, z1)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), add(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_add(z0, z1)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_s(z0)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_s(z0)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_first(z0, z1)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), first(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_first(z0, z1)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_cons(z0, z1)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_cons(z0, z1)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_from(z0)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), from(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_from(z0)))) ENCARG(cons_and(x0, cons_if(x1, true, x3))) -> c6(AND(encArg(x0), if(encArg(x1), true, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, true, x3))) ENCARG(cons_and(x0, cons_if(x1, false, x3))) -> c6(AND(encArg(x0), if(encArg(x1), false, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, false, x3))) ENCARG(cons_and(x0, cons_if(x1, 0, x3))) -> c6(AND(encArg(x0), if(encArg(x1), 0, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, 0, x3))) ENCARG(cons_and(x0, cons_if(x1, nil, x3))) -> c6(AND(encArg(x0), if(encArg(x1), nil, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, nil, x3))) ENCARG(cons_and(x0, cons_if(x1, cons_active(z0), x3))) -> c6(AND(encArg(x0), if(encArg(x1), active(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_active(z0), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_mark(z0), x3))) -> c6(AND(encArg(x0), if(encArg(x1), mark(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_mark(z0), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_and(z0, z1), x3))) -> c6(AND(encArg(x0), if(encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_and(z0, z1), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_if(z0, z1, z2), x3))) -> c6(AND(encArg(x0), if(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_if(z0, z1, z2), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_add(z0, z1), x3))) -> c6(AND(encArg(x0), if(encArg(x1), add(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_add(z0, z1), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_s(z0), x3))) -> c6(AND(encArg(x0), if(encArg(x1), s(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_s(z0), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_first(z0, z1), x3))) -> c6(AND(encArg(x0), if(encArg(x1), first(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_first(z0, z1), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_cons(z0, z1), x3))) -> c6(AND(encArg(x0), if(encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_cons(z0, z1), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_from(z0), x3))) -> c6(AND(encArg(x0), if(encArg(x1), from(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_from(z0), x3))) ENCARG(cons_and(x0, cons_if(true, x2, x3))) -> c6(AND(encArg(x0), if(true, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(true, x2, x3))) ENCARG(cons_and(x0, cons_if(false, x2, x3))) -> c6(AND(encArg(x0), if(false, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(false, x2, x3))) ENCARG(cons_and(x0, cons_if(0, x2, x3))) -> c6(AND(encArg(x0), if(0, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(0, x2, x3))) ENCARG(cons_and(x0, cons_if(nil, x2, x3))) -> c6(AND(encArg(x0), if(nil, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(nil, x2, x3))) ENCARG(cons_and(x0, cons_if(cons_active(z0), x2, x3))) -> c6(AND(encArg(x0), if(active(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_active(z0), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_mark(z0), x2, x3))) -> c6(AND(encArg(x0), if(mark(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_mark(z0), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_and(z0, z1), x2, x3))) -> c6(AND(encArg(x0), if(and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_and(z0, z1), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_if(z0, z1, z2), x2, x3))) -> c6(AND(encArg(x0), if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_if(z0, z1, z2), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_add(z0, z1), x2, x3))) -> c6(AND(encArg(x0), if(add(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_add(z0, z1), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_s(z0), x2, x3))) -> c6(AND(encArg(x0), if(s(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_s(z0), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_first(z0, z1), x2, x3))) -> c6(AND(encArg(x0), if(first(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_first(z0, z1), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_cons(z0, z1), x2, x3))) -> c6(AND(encArg(x0), if(cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_cons(z0, z1), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_from(z0), x2, x3))) -> c6(AND(encArg(x0), if(from(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_from(z0), x2, x3))) ENCARG(cons_and(true, cons_if(x1, x2, x3))) -> c6(AND(true, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(true), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(false, cons_if(x1, x2, x3))) -> c6(AND(false, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(false), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(0, cons_if(x1, x2, x3))) -> c6(AND(0, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(0), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(nil, cons_if(x1, x2, x3))) -> c6(AND(nil, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(nil), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_active(z0), cons_if(x1, x2, x3))) -> c6(AND(active(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_active(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_mark(z0), cons_if(x1, x2, x3))) -> c6(AND(mark(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_mark(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_and(z0, z1), cons_if(x1, x2, x3))) -> c6(AND(and(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_and(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_if(z0, z1, z2), cons_if(x1, x2, x3))) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_add(z0, z1), cons_if(x1, x2, x3))) -> c6(AND(add(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_add(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_s(z0), cons_if(x1, x2, x3))) -> c6(AND(s(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_s(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_first(z0, z1), cons_if(x1, x2, x3))) -> c6(AND(first(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_first(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_cons(z0, z1), cons_if(x1, x2, x3))) -> c6(AND(cons(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_from(z0), cons_if(x1, x2, x3))) -> c6(AND(from(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_from(z0)), ENCARG(cons_if(x1, x2, x3))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4, c1_1, c2_1 ---------------------------------------- (153) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (154) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_active(cons_mark(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c1(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c1(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_and(x0, true))) -> c4(ACTIVE(and(encArg(x0), true)), ENCARG(cons_and(x0, true))) ENCARG(cons_active(cons_and(x0, false))) -> c4(ACTIVE(and(encArg(x0), false)), ENCARG(cons_and(x0, false))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(and(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_and(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_and(x0, cons_add(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(and(encArg(x0), from(encArg(z0)))), ENCARG(cons_and(x0, cons_from(z0)))) ENCARG(cons_active(cons_and(true, x1))) -> c4(ACTIVE(and(true, encArg(x1))), ENCARG(cons_and(true, x1))) ENCARG(cons_active(cons_and(false, x1))) -> c4(ACTIVE(and(false, encArg(x1))), ENCARG(cons_and(false, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_and(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_and(cons_add(z0, z1), x1))) -> c4(ACTIVE(and(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(and(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(and(from(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_from(z0), x1))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, nil))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), nil)), ENCARG(cons_if(x0, x1, nil))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_and(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_and(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, x1, cons_add(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_add(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_first(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_first(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_cons(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_cons(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_from(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), from(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_from(z0)))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c4(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c4(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c4(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, nil, x2))) -> c4(ACTIVE(if(encArg(x0), nil, encArg(x2))), ENCARG(cons_if(x0, nil, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c4(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c4(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_and(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_and(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c4(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(x0, cons_add(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_add(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c4(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_first(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_first(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_cons(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_cons(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_from(z0), x2))) -> c4(ACTIVE(if(encArg(x0), from(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_from(z0), x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c4(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c4(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c4(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(nil, x1, x2))) -> c4(ACTIVE(if(nil, encArg(x1), encArg(x2))), ENCARG(cons_if(nil, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c4(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c4(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_and(z0, z1), x1, x2))) -> c4(ACTIVE(if(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_and(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c4(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_active(cons_if(cons_add(z0, z1), x1, x2))) -> c4(ACTIVE(if(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_add(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c4(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_first(z0, z1), x1, x2))) -> c4(ACTIVE(if(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_first(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_cons(z0, z1), x1, x2))) -> c4(ACTIVE(if(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_cons(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_from(z0), x1, x2))) -> c4(ACTIVE(if(from(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_from(z0), x1, x2))) ENCARG(cons_active(cons_add(x0, true))) -> c4(ACTIVE(add(encArg(x0), true)), ENCARG(cons_add(x0, true))) ENCARG(cons_active(cons_add(x0, false))) -> c4(ACTIVE(add(encArg(x0), false)), ENCARG(cons_add(x0, false))) ENCARG(cons_active(cons_add(x0, 0))) -> c4(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c4(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c4(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c4(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_and(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(add(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_add(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c4(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_from(z0)))) -> c4(ACTIVE(add(encArg(x0), from(encArg(z0)))), ENCARG(cons_add(x0, cons_from(z0)))) ENCARG(cons_active(cons_add(true, x1))) -> c4(ACTIVE(add(true, encArg(x1))), ENCARG(cons_add(true, x1))) ENCARG(cons_active(cons_add(false, x1))) -> c4(ACTIVE(add(false, encArg(x1))), ENCARG(cons_add(false, x1))) ENCARG(cons_active(cons_add(0, x1))) -> c4(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c4(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c4(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c4(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_and(z0, z1), x1))) -> c4(ACTIVE(add(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(add(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_add(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c4(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c4(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c4(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c4(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_from(z0), x1))) -> c4(ACTIVE(add(from(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_from(z0), x1))) 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_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c4(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c4(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(s(from(encArg(z0)))), ENCARG(cons_s(cons_from(z0)))) ENCARG(cons_active(cons_first(x0, true))) -> c4(ACTIVE(first(encArg(x0), true)), ENCARG(cons_first(x0, true))) ENCARG(cons_active(cons_first(x0, false))) -> c4(ACTIVE(first(encArg(x0), false)), ENCARG(cons_first(x0, false))) ENCARG(cons_active(cons_first(x0, 0))) -> c4(ACTIVE(first(encArg(x0), 0)), ENCARG(cons_first(x0, 0))) ENCARG(cons_active(cons_first(x0, nil))) -> c4(ACTIVE(first(encArg(x0), nil)), ENCARG(cons_first(x0, nil))) ENCARG(cons_active(cons_first(x0, cons_active(z0)))) -> c4(ACTIVE(first(encArg(x0), active(encArg(z0)))), ENCARG(cons_first(x0, cons_active(z0)))) ENCARG(cons_active(cons_first(x0, cons_mark(z0)))) -> c4(ACTIVE(first(encArg(x0), mark(encArg(z0)))), ENCARG(cons_first(x0, cons_mark(z0)))) ENCARG(cons_active(cons_first(x0, cons_and(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(first(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_first(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_first(x0, cons_add(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_s(z0)))) -> c4(ACTIVE(first(encArg(x0), s(encArg(z0)))), ENCARG(cons_first(x0, cons_s(z0)))) ENCARG(cons_active(cons_first(x0, cons_first(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_from(z0)))) -> c4(ACTIVE(first(encArg(x0), from(encArg(z0)))), ENCARG(cons_first(x0, cons_from(z0)))) ENCARG(cons_active(cons_first(true, x1))) -> c4(ACTIVE(first(true, encArg(x1))), ENCARG(cons_first(true, x1))) ENCARG(cons_active(cons_first(false, x1))) -> c4(ACTIVE(first(false, encArg(x1))), ENCARG(cons_first(false, x1))) ENCARG(cons_active(cons_first(0, x1))) -> c4(ACTIVE(first(0, encArg(x1))), ENCARG(cons_first(0, x1))) ENCARG(cons_active(cons_first(nil, x1))) -> c4(ACTIVE(first(nil, encArg(x1))), ENCARG(cons_first(nil, x1))) ENCARG(cons_active(cons_first(cons_active(z0), x1))) -> c4(ACTIVE(first(active(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_active(z0), x1))) ENCARG(cons_active(cons_first(cons_mark(z0), x1))) -> c4(ACTIVE(first(mark(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_mark(z0), x1))) ENCARG(cons_active(cons_first(cons_and(z0, z1), x1))) -> c4(ACTIVE(first(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(first(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_first(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_first(cons_add(z0, z1), x1))) -> c4(ACTIVE(first(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_s(z0), x1))) -> c4(ACTIVE(first(s(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_s(z0), x1))) ENCARG(cons_active(cons_first(cons_first(z0, z1), x1))) -> c4(ACTIVE(first(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_cons(z0, z1), x1))) -> c4(ACTIVE(first(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_from(z0), x1))) -> c4(ACTIVE(first(from(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_from(z0), x1))) ENCARG(cons_active(cons_cons(x0, true))) -> c4(ACTIVE(cons(encArg(x0), true)), ENCARG(cons_cons(x0, true))) ENCARG(cons_active(cons_cons(x0, false))) -> c4(ACTIVE(cons(encArg(x0), false)), ENCARG(cons_cons(x0, false))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(cons(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_cons(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_cons(x0, cons_add(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(cons(encArg(x0), from(encArg(z0)))), ENCARG(cons_cons(x0, cons_from(z0)))) ENCARG(cons_active(cons_cons(true, x1))) -> c4(ACTIVE(cons(true, encArg(x1))), ENCARG(cons_cons(true, x1))) ENCARG(cons_active(cons_cons(false, x1))) -> c4(ACTIVE(cons(false, encArg(x1))), ENCARG(cons_cons(false, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(cons(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_cons(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_cons(cons_add(z0, z1), x1))) -> c4(ACTIVE(cons(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(cons(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(cons(from(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_from(z0), 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_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c5(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_active(cons_add(z0, z1)))) -> c5(MARK(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c5(MARK(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c5(MARK(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c5(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_add(z0, z1)))) -> c5(MARK(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c5(MARK(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c5(MARK(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(nil))) -> c2(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_and(x0, cons_and(x1, true))) -> c6(AND(encArg(x0), and(encArg(x1), true)), ENCARG(x0), ENCARG(cons_and(x1, true))) ENCARG(cons_and(x0, cons_and(x1, false))) -> c6(AND(encArg(x0), and(encArg(x1), false)), ENCARG(x0), ENCARG(cons_and(x1, false))) ENCARG(cons_and(x0, cons_and(x1, 0))) -> c6(AND(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_and(x0, cons_and(x1, nil))) -> c6(AND(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_and(x0, cons_and(x1, cons_active(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_and(x0, cons_and(x1, cons_mark(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_and(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_if(z0, z1, z2)))) -> c6(AND(encArg(x0), and(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_and(x1, cons_if(z0, z1, z2)))) ENCARG(cons_and(x0, cons_and(x1, cons_add(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_add(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_s(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_and(x0, cons_and(x1, cons_first(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_first(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_from(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), from(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_from(z0)))) ENCARG(cons_and(x0, cons_and(true, x2))) -> c6(AND(encArg(x0), and(true, encArg(x2))), ENCARG(x0), ENCARG(cons_and(true, x2))) ENCARG(cons_and(x0, cons_and(false, x2))) -> c6(AND(encArg(x0), and(false, encArg(x2))), ENCARG(x0), ENCARG(cons_and(false, x2))) ENCARG(cons_and(x0, cons_and(0, x2))) -> c6(AND(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_and(x0, cons_and(nil, x2))) -> c6(AND(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_and(x0, cons_and(cons_active(z0), x2))) -> c6(AND(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_and(x0, cons_and(cons_mark(z0), x2))) -> c6(AND(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_and(x0, cons_and(cons_and(z0, z1), x2))) -> c6(AND(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_if(z0, z1, z2), x2))) -> c6(AND(encArg(x0), and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_if(z0, z1, z2), x2))) ENCARG(cons_and(x0, cons_and(cons_add(z0, z1), x2))) -> c6(AND(encArg(x0), and(add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_add(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_s(z0), x2))) -> c6(AND(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_and(x0, cons_and(cons_first(z0, z1), x2))) -> c6(AND(encArg(x0), and(first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_first(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(AND(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_from(z0), x2))) -> c6(AND(encArg(x0), and(from(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_from(z0), x2))) ENCARG(cons_and(cons_active(z0), cons_and(x1, x2))) -> c6(AND(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_mark(z0), cons_and(x1, x2))) -> c6(AND(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_and(z0, z1), cons_and(x1, x2))) -> c6(AND(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_if(z0, z1, z2), cons_and(x1, x2))) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), and(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_add(z0, z1), cons_and(x1, x2))) -> c6(AND(add(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_add(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_s(z0), cons_and(x1, x2))) -> c6(AND(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_first(z0, z1), cons_and(x1, x2))) -> c6(AND(first(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_first(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(AND(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_from(z0), cons_and(x1, x2))) -> c6(AND(from(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_from(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(true, cons_and(x1, x2))) -> c6(AND(true, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(false, cons_and(x1, x2))) -> c6(AND(false, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(0, cons_and(x1, x2))) -> c6(AND(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(nil, cons_and(x1, x2))) -> c6(AND(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(x0, cons_if(x1, x2, true))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), true)), ENCARG(x0), ENCARG(cons_if(x1, x2, true))) ENCARG(cons_and(x0, cons_if(x1, x2, false))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), false)), ENCARG(x0), ENCARG(cons_if(x1, x2, false))) ENCARG(cons_and(x0, cons_if(x1, x2, 0))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), 0)), ENCARG(x0), ENCARG(cons_if(x1, x2, 0))) ENCARG(cons_and(x0, cons_if(x1, x2, nil))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), nil)), ENCARG(x0), ENCARG(cons_if(x1, x2, nil))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_active(z0)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_active(z0)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_mark(z0)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_mark(z0)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_and(z0, z1)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_and(z0, z1)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_if(z0, z1, z2)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_if(z0, z1, z2)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_add(z0, z1)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), add(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_add(z0, z1)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_s(z0)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_s(z0)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_first(z0, z1)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), first(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_first(z0, z1)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_cons(z0, z1)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_cons(z0, z1)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_from(z0)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), from(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_from(z0)))) ENCARG(cons_and(x0, cons_if(x1, true, x3))) -> c6(AND(encArg(x0), if(encArg(x1), true, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, true, x3))) ENCARG(cons_and(x0, cons_if(x1, false, x3))) -> c6(AND(encArg(x0), if(encArg(x1), false, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, false, x3))) ENCARG(cons_and(x0, cons_if(x1, 0, x3))) -> c6(AND(encArg(x0), if(encArg(x1), 0, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, 0, x3))) ENCARG(cons_and(x0, cons_if(x1, nil, x3))) -> c6(AND(encArg(x0), if(encArg(x1), nil, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, nil, x3))) ENCARG(cons_and(x0, cons_if(x1, cons_active(z0), x3))) -> c6(AND(encArg(x0), if(encArg(x1), active(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_active(z0), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_mark(z0), x3))) -> c6(AND(encArg(x0), if(encArg(x1), mark(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_mark(z0), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_and(z0, z1), x3))) -> c6(AND(encArg(x0), if(encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_and(z0, z1), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_if(z0, z1, z2), x3))) -> c6(AND(encArg(x0), if(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_if(z0, z1, z2), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_add(z0, z1), x3))) -> c6(AND(encArg(x0), if(encArg(x1), add(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_add(z0, z1), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_s(z0), x3))) -> c6(AND(encArg(x0), if(encArg(x1), s(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_s(z0), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_first(z0, z1), x3))) -> c6(AND(encArg(x0), if(encArg(x1), first(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_first(z0, z1), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_cons(z0, z1), x3))) -> c6(AND(encArg(x0), if(encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_cons(z0, z1), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_from(z0), x3))) -> c6(AND(encArg(x0), if(encArg(x1), from(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_from(z0), x3))) ENCARG(cons_and(x0, cons_if(true, x2, x3))) -> c6(AND(encArg(x0), if(true, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(true, x2, x3))) ENCARG(cons_and(x0, cons_if(false, x2, x3))) -> c6(AND(encArg(x0), if(false, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(false, x2, x3))) ENCARG(cons_and(x0, cons_if(0, x2, x3))) -> c6(AND(encArg(x0), if(0, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(0, x2, x3))) ENCARG(cons_and(x0, cons_if(nil, x2, x3))) -> c6(AND(encArg(x0), if(nil, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(nil, x2, x3))) ENCARG(cons_and(x0, cons_if(cons_active(z0), x2, x3))) -> c6(AND(encArg(x0), if(active(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_active(z0), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_mark(z0), x2, x3))) -> c6(AND(encArg(x0), if(mark(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_mark(z0), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_and(z0, z1), x2, x3))) -> c6(AND(encArg(x0), if(and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_and(z0, z1), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_if(z0, z1, z2), x2, x3))) -> c6(AND(encArg(x0), if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_if(z0, z1, z2), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_add(z0, z1), x2, x3))) -> c6(AND(encArg(x0), if(add(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_add(z0, z1), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_s(z0), x2, x3))) -> c6(AND(encArg(x0), if(s(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_s(z0), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_first(z0, z1), x2, x3))) -> c6(AND(encArg(x0), if(first(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_first(z0, z1), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_cons(z0, z1), x2, x3))) -> c6(AND(encArg(x0), if(cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_cons(z0, z1), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_from(z0), x2, x3))) -> c6(AND(encArg(x0), if(from(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_from(z0), x2, x3))) ENCARG(cons_and(cons_active(z0), cons_if(x1, x2, x3))) -> c6(AND(active(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_active(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_mark(z0), cons_if(x1, x2, x3))) -> c6(AND(mark(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_mark(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_and(z0, z1), cons_if(x1, x2, x3))) -> c6(AND(and(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_and(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_if(z0, z1, z2), cons_if(x1, x2, x3))) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_add(z0, z1), cons_if(x1, x2, x3))) -> c6(AND(add(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_add(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_s(z0), cons_if(x1, x2, x3))) -> c6(AND(s(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_s(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_first(z0, z1), cons_if(x1, x2, x3))) -> c6(AND(first(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_first(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_cons(z0, z1), cons_if(x1, x2, x3))) -> c6(AND(cons(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_from(z0), cons_if(x1, x2, x3))) -> c6(AND(from(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_from(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(true, cons_if(x1, x2, x3))) -> c6(AND(true, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(false, cons_if(x1, x2, x3))) -> c6(AND(false, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(0, cons_if(x1, x2, x3))) -> c6(AND(0, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(nil, cons_if(x1, x2, x3))) -> c6(AND(nil, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4, c1_1, c2_1 ---------------------------------------- (155) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_and(x0, cons_add(z0, z1))) -> c6(AND(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) by ENCARG(cons_and(x0, cons_add(x1, true))) -> c6(AND(encArg(x0), add(encArg(x1), true)), ENCARG(x0), ENCARG(cons_add(x1, true))) ENCARG(cons_and(x0, cons_add(x1, false))) -> c6(AND(encArg(x0), add(encArg(x1), false)), ENCARG(x0), ENCARG(cons_add(x1, false))) ENCARG(cons_and(x0, cons_add(x1, 0))) -> c6(AND(encArg(x0), add(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_add(x1, 0))) ENCARG(cons_and(x0, cons_add(x1, nil))) -> c6(AND(encArg(x0), add(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_add(x1, nil))) ENCARG(cons_and(x0, cons_add(x1, cons_active(z0)))) -> c6(AND(encArg(x0), add(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_add(x1, cons_active(z0)))) ENCARG(cons_and(x0, cons_add(x1, cons_mark(z0)))) -> c6(AND(encArg(x0), add(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_add(x1, cons_mark(z0)))) ENCARG(cons_and(x0, cons_add(x1, cons_and(z0, z1)))) -> c6(AND(encArg(x0), add(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_add(x1, cons_and(z0, z1)))) ENCARG(cons_and(x0, cons_add(x1, cons_if(z0, z1, z2)))) -> c6(AND(encArg(x0), add(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_add(x1, cons_if(z0, z1, z2)))) ENCARG(cons_and(x0, cons_add(x1, cons_add(z0, z1)))) -> c6(AND(encArg(x0), add(encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_add(x1, cons_add(z0, z1)))) ENCARG(cons_and(x0, cons_add(x1, cons_s(z0)))) -> c6(AND(encArg(x0), add(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_add(x1, cons_s(z0)))) ENCARG(cons_and(x0, cons_add(x1, cons_first(z0, z1)))) -> c6(AND(encArg(x0), add(encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_add(x1, cons_first(z0, z1)))) ENCARG(cons_and(x0, cons_add(x1, cons_cons(z0, z1)))) -> c6(AND(encArg(x0), add(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_add(x1, cons_cons(z0, z1)))) ENCARG(cons_and(x0, cons_add(x1, cons_from(z0)))) -> c6(AND(encArg(x0), add(encArg(x1), from(encArg(z0)))), ENCARG(x0), ENCARG(cons_add(x1, cons_from(z0)))) ENCARG(cons_and(x0, cons_add(true, x2))) -> c6(AND(encArg(x0), add(true, encArg(x2))), ENCARG(x0), ENCARG(cons_add(true, x2))) ENCARG(cons_and(x0, cons_add(false, x2))) -> c6(AND(encArg(x0), add(false, encArg(x2))), ENCARG(x0), ENCARG(cons_add(false, x2))) ENCARG(cons_and(x0, cons_add(0, x2))) -> c6(AND(encArg(x0), add(0, encArg(x2))), ENCARG(x0), ENCARG(cons_add(0, x2))) ENCARG(cons_and(x0, cons_add(nil, x2))) -> c6(AND(encArg(x0), add(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_add(nil, x2))) ENCARG(cons_and(x0, cons_add(cons_active(z0), x2))) -> c6(AND(encArg(x0), add(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_add(cons_active(z0), x2))) ENCARG(cons_and(x0, cons_add(cons_mark(z0), x2))) -> c6(AND(encArg(x0), add(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_add(cons_mark(z0), x2))) ENCARG(cons_and(x0, cons_add(cons_and(z0, z1), x2))) -> c6(AND(encArg(x0), add(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_add(cons_and(z0, z1), x2))) ENCARG(cons_and(x0, cons_add(cons_if(z0, z1, z2), x2))) -> c6(AND(encArg(x0), add(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_add(cons_if(z0, z1, z2), x2))) ENCARG(cons_and(x0, cons_add(cons_add(z0, z1), x2))) -> c6(AND(encArg(x0), add(add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_add(cons_add(z0, z1), x2))) ENCARG(cons_and(x0, cons_add(cons_s(z0), x2))) -> c6(AND(encArg(x0), add(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_add(cons_s(z0), x2))) ENCARG(cons_and(x0, cons_add(cons_first(z0, z1), x2))) -> c6(AND(encArg(x0), add(first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_add(cons_first(z0, z1), x2))) ENCARG(cons_and(x0, cons_add(cons_cons(z0, z1), x2))) -> c6(AND(encArg(x0), add(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_add(cons_cons(z0, z1), x2))) ENCARG(cons_and(x0, cons_add(cons_from(z0), x2))) -> c6(AND(encArg(x0), add(from(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_add(cons_from(z0), x2))) ENCARG(cons_and(true, cons_add(x1, x2))) -> c6(AND(true, add(encArg(x1), encArg(x2))), ENCARG(true), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(false, cons_add(x1, x2))) -> c6(AND(false, add(encArg(x1), encArg(x2))), ENCARG(false), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(0, cons_add(x1, x2))) -> c6(AND(0, add(encArg(x1), encArg(x2))), ENCARG(0), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(nil, cons_add(x1, x2))) -> c6(AND(nil, add(encArg(x1), encArg(x2))), ENCARG(nil), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(cons_active(z0), cons_add(x1, x2))) -> c6(AND(active(encArg(z0)), add(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(cons_mark(z0), cons_add(x1, x2))) -> c6(AND(mark(encArg(z0)), add(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(cons_and(z0, z1), cons_add(x1, x2))) -> c6(AND(and(encArg(z0), encArg(z1)), add(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(cons_if(z0, z1, z2), cons_add(x1, x2))) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), add(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(cons_add(z0, z1), cons_add(x1, x2))) -> c6(AND(add(encArg(z0), encArg(z1)), add(encArg(x1), encArg(x2))), ENCARG(cons_add(z0, z1)), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(cons_s(z0), cons_add(x1, x2))) -> c6(AND(s(encArg(z0)), add(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(cons_first(z0, z1), cons_add(x1, x2))) -> c6(AND(first(encArg(z0), encArg(z1)), add(encArg(x1), encArg(x2))), ENCARG(cons_first(z0, z1)), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(cons_cons(z0, z1), cons_add(x1, x2))) -> c6(AND(cons(encArg(z0), encArg(z1)), add(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(cons_from(z0), cons_add(x1, x2))) -> c6(AND(from(encArg(z0)), add(encArg(x1), encArg(x2))), ENCARG(cons_from(z0)), ENCARG(cons_add(x1, x2))) ---------------------------------------- (156) Obligation: Complexity Dependency Tuples Problem Rules: encArg(true) -> true encArg(false) -> false encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_from(z0)) -> from(encArg(z0)) active(and(true, z0)) -> mark(z0) active(and(false, z0)) -> mark(false) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(add(0, z0)) -> mark(z0) active(add(s(z0), z1)) -> mark(s(add(z0, z1))) active(first(0, z0)) -> mark(nil) active(first(s(z0), cons(z1, z2))) -> mark(cons(z1, first(z0, z2))) active(from(z0)) -> mark(cons(z0, from(s(z0)))) mark(and(z0, z1)) -> active(and(mark(z0), z1)) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(add(z0, z1)) -> active(add(mark(z0), z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(z0)) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(cons(z0, z1)) -> active(cons(z0, z1)) mark(from(z0)) -> active(from(z0)) 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) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) add(mark(z0), z1) -> add(z0, z1) add(z0, mark(z1)) -> add(z0, z1) add(active(z0), z1) -> add(z0, z1) add(z0, active(z1)) -> add(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) first(mark(z0), z1) -> first(z0, z1) first(z0, mark(z1)) -> first(z0, z1) first(active(z0), z1) -> first(z0, z1) first(z0, active(z1)) -> first(z0, 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) from(mark(z0)) -> from(z0) from(active(z0)) -> from(z0) Tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) ENCARG(cons_active(cons_from(z0))) -> c4(ACTIVE(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c5(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_add(z0, z1))) -> c5(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c5(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_from(z0))) -> c5(MARK(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_mark(true)) -> c5(MARK(true)) ENCARG(cons_mark(false)) -> c5(MARK(false)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_first(z0, z1))) -> c6(AND(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_from(z0))) -> c6(AND(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_if(z0, z1, z2), x1)) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_and(cons_add(z0, z1), x1)) -> c6(AND(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_first(z0, z1), x1)) -> c6(AND(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_from(z0), x1)) -> c6(AND(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_and(x0, true)) -> c6(AND(encArg(x0), true), ENCARG(x0)) ENCARG(cons_and(x0, false)) -> c6(AND(encArg(x0), false), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(true, x1)) -> c6(AND(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(false, x1)) -> c6(AND(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c7(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c7(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_and(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c7(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_add(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_add(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c7(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_first(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_first(z0, z1))) ENCARG(cons_if(x0, x1, cons_cons(z0, z1))) -> c7(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1))) ENCARG(cons_if(x0, x1, cons_from(z0))) -> c7(IF(encArg(x0), encArg(x1), from(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_from(z0))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c7(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c7(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_and(z0, z1), x2)) -> c7(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c7(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_add(z0, z1), x2)) -> c7(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_add(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c7(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_first(z0, z1), x2)) -> c7(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_first(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_cons(z0, z1), x2)) -> c7(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_from(z0), x2)) -> c7(IF(encArg(x0), from(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_from(z0)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c7(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c7(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_and(z0, z1), x1, x2)) -> c7(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c7(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_add(z0, z1), x1, x2)) -> c7(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_add(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c7(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_first(z0, z1), x1, x2)) -> c7(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_first(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_cons(z0, z1), x1, x2)) -> c7(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_from(z0), x1, x2)) -> c7(IF(from(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_from(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, true)) -> c7(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c7(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c7(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, nil)) -> c7(IF(encArg(x0), encArg(x1), nil), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, true, x2)) -> c7(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c7(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, 0, x2)) -> c7(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, nil, x2)) -> c7(IF(encArg(x0), nil, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c7(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c7(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c7(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(nil, x1, x2)) -> c7(IF(nil, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_add(x0, cons_active(z0))) -> c8(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c8(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_and(z0, z1))) -> c8(ADD(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_add(x0, cons_if(z0, z1, z2))) -> c8(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c8(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_s(z0))) -> c8(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c8(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c8(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_from(z0))) -> c8(ADD(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c8(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c8(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_and(z0, z1), x1)) -> c8(ADD(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_if(z0, z1, z2), x1)) -> c8(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c8(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c8(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c8(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c8(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_from(z0), x1)) -> c8(ADD(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_add(x0, true)) -> c8(ADD(encArg(x0), true), ENCARG(x0)) ENCARG(cons_add(x0, false)) -> c8(ADD(encArg(x0), false), ENCARG(x0)) ENCARG(cons_add(x0, 0)) -> c8(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c8(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(true, x1)) -> c8(ADD(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(false, x1)) -> c8(ADD(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(0, x1)) -> c8(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c8(ADD(nil, encArg(x1)), ENCARG(x1)) 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_and(z0, z1))) -> c9(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c9(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_add(z0, z1))) -> c9(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c9(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c9(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_cons(z0, z1))) -> c9(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_from(z0))) -> c9(S(from(encArg(z0))), ENCARG(cons_from(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c10(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c10(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_and(z0, z1))) -> c10(FIRST(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_first(x0, cons_if(z0, z1, z2))) -> c10(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c10(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_s(z0))) -> c10(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c10(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c10(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_from(z0))) -> c10(FIRST(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c10(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c10(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_and(z0, z1), x1)) -> c10(FIRST(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_if(z0, z1, z2), x1)) -> c10(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c10(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c10(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c10(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c10(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_from(z0), x1)) -> c10(FIRST(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_first(x0, true)) -> c10(FIRST(encArg(x0), true), ENCARG(x0)) ENCARG(cons_first(x0, false)) -> c10(FIRST(encArg(x0), false), ENCARG(x0)) ENCARG(cons_first(x0, 0)) -> c10(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c10(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(true, x1)) -> c10(FIRST(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(false, x1)) -> c10(FIRST(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(0, x1)) -> c10(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c10(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(x0, cons_active(z0))) -> c11(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c11(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c11(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_if(z0, z1, z2))) -> c11(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c11(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_s(z0))) -> c11(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c11(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c11(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_from(z0))) -> c11(CONS(encArg(x0), from(encArg(z0))), ENCARG(x0), ENCARG(cons_from(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c11(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c11(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c11(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_if(z0, z1, z2), x1)) -> c11(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c11(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c11(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c11(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c11(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_from(z0), x1)) -> c11(CONS(from(encArg(z0)), encArg(x1)), ENCARG(cons_from(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, true)) -> c11(CONS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_cons(x0, false)) -> c11(CONS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c11(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c11(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(true, x1)) -> c11(CONS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(false, x1)) -> c11(CONS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c11(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c11(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_from(cons_active(z0))) -> c12(FROM(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_from(cons_mark(z0))) -> c12(FROM(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_from(cons_and(z0, z1))) -> c12(FROM(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_from(cons_if(z0, z1, z2))) -> c12(FROM(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_from(cons_add(z0, z1))) -> c12(FROM(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_from(cons_s(z0))) -> c12(FROM(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_from(cons_first(z0, z1))) -> c12(FROM(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_from(cons_cons(z0, z1))) -> c12(FROM(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_from(cons_from(z0))) -> c12(FROM(from(encArg(z0))), ENCARG(cons_from(z0))) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), 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_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_from(z0)) -> c(ACTIVE(from(encArg(z0)))) ENCODE_AND(x0, true) -> c(AND(encArg(x0), true)) ENCODE_AND(x0, false) -> c(AND(encArg(x0), false)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_if(z0, z1, z2)) -> c(AND(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_AND(x0, cons_add(z0, z1)) -> c(AND(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_first(z0, z1)) -> c(AND(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_from(z0)) -> c(AND(encArg(x0), from(encArg(z0)))) ENCODE_AND(true, x1) -> c(AND(true, encArg(x1))) ENCODE_AND(false, x1) -> c(AND(false, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_if(z0, z1, z2), x1) -> c(AND(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_AND(cons_add(z0, z1), x1) -> c(AND(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_first(z0, z1), x1) -> c(AND(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_from(z0), x1) -> c(AND(from(encArg(z0)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_from(z0)) -> c(MARK(from(encArg(z0)))) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, nil) -> c(IF(encArg(x0), encArg(x1), nil)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_and(z0, z1)) -> c(IF(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_add(z0, z1)) -> c(IF(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_first(z0, z1)) -> c(IF(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_cons(z0, z1)) -> c(IF(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_from(z0)) -> c(IF(encArg(x0), encArg(x1), from(encArg(z0)))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, nil, x2) -> c(IF(encArg(x0), nil, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_and(z0, z1), x2) -> c(IF(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_add(z0, z1), x2) -> c(IF(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_first(z0, z1), x2) -> c(IF(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_cons(z0, z1), x2) -> c(IF(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_from(z0), x2) -> c(IF(encArg(x0), from(encArg(z0)), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(nil, x1, x2) -> c(IF(nil, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_and(z0, z1), x1, x2) -> c(IF(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_add(z0, z1), x1, x2) -> c(IF(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_first(z0, z1), x1, x2) -> c(IF(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_cons(z0, z1), x1, x2) -> c(IF(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_from(z0), x1, x2) -> c(IF(from(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_ADD(x0, true) -> c(ADD(encArg(x0), true)) ENCODE_ADD(x0, false) -> c(ADD(encArg(x0), false)) ENCODE_ADD(x0, 0) -> c(ADD(encArg(x0), 0)) ENCODE_ADD(x0, nil) -> c(ADD(encArg(x0), nil)) ENCODE_ADD(x0, cons_active(z0)) -> c(ADD(encArg(x0), active(encArg(z0)))) ENCODE_ADD(x0, cons_mark(z0)) -> c(ADD(encArg(x0), mark(encArg(z0)))) ENCODE_ADD(x0, cons_and(z0, z1)) -> c(ADD(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_if(z0, z1, z2)) -> c(ADD(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_from(z0)) -> c(ADD(encArg(x0), from(encArg(z0)))) ENCODE_ADD(true, x1) -> c(ADD(true, encArg(x1))) ENCODE_ADD(false, x1) -> c(ADD(false, encArg(x1))) ENCODE_ADD(0, x1) -> c(ADD(0, encArg(x1))) ENCODE_ADD(nil, x1) -> c(ADD(nil, encArg(x1))) ENCODE_ADD(cons_active(z0), x1) -> c(ADD(active(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_mark(z0), x1) -> c(ADD(mark(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_and(z0, z1), x1) -> c(ADD(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_if(z0, z1, z2), x1) -> c(ADD(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_from(z0), x1) -> c(ADD(from(encArg(z0)), encArg(x1))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_from(z0)) -> c(S(from(encArg(z0)))) ENCODE_FIRST(x0, true) -> c(FIRST(encArg(x0), true)) ENCODE_FIRST(x0, false) -> c(FIRST(encArg(x0), false)) ENCODE_FIRST(x0, 0) -> c(FIRST(encArg(x0), 0)) ENCODE_FIRST(x0, nil) -> c(FIRST(encArg(x0), nil)) ENCODE_FIRST(x0, cons_active(z0)) -> c(FIRST(encArg(x0), active(encArg(z0)))) ENCODE_FIRST(x0, cons_mark(z0)) -> c(FIRST(encArg(x0), mark(encArg(z0)))) ENCODE_FIRST(x0, cons_and(z0, z1)) -> c(FIRST(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_if(z0, z1, z2)) -> c(FIRST(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_from(z0)) -> c(FIRST(encArg(x0), from(encArg(z0)))) ENCODE_FIRST(true, x1) -> c(FIRST(true, encArg(x1))) ENCODE_FIRST(false, x1) -> c(FIRST(false, encArg(x1))) ENCODE_FIRST(0, x1) -> c(FIRST(0, encArg(x1))) ENCODE_FIRST(nil, x1) -> c(FIRST(nil, encArg(x1))) ENCODE_FIRST(cons_active(z0), x1) -> c(FIRST(active(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_mark(z0), x1) -> c(FIRST(mark(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_and(z0, z1), x1) -> c(FIRST(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_if(z0, z1, z2), x1) -> c(FIRST(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_from(z0), x1) -> c(FIRST(from(encArg(z0)), encArg(x1))) ENCODE_CONS(x0, true) -> c(CONS(encArg(x0), true)) ENCODE_CONS(x0, false) -> c(CONS(encArg(x0), false)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_if(z0, z1, z2)) -> c(CONS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_from(z0)) -> c(CONS(encArg(x0), from(encArg(z0)))) ENCODE_CONS(true, x1) -> c(CONS(true, encArg(x1))) ENCODE_CONS(false, x1) -> c(CONS(false, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_if(z0, z1, z2), x1) -> c(CONS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_from(z0), x1) -> c(CONS(from(encArg(z0)), encArg(x1))) ENCODE_FROM(cons_active(z0)) -> c(FROM(active(encArg(z0)))) ENCODE_FROM(cons_mark(z0)) -> c(FROM(mark(encArg(z0)))) ENCODE_FROM(cons_and(z0, z1)) -> c(FROM(and(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_if(z0, z1, z2)) -> c(FROM(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_FROM(cons_add(z0, z1)) -> c(FROM(add(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_s(z0)) -> c(FROM(s(encArg(z0)))) ENCODE_FROM(cons_first(z0, z1)) -> c(FROM(first(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_cons(z0, z1)) -> c(FROM(cons(encArg(z0), encArg(z1)))) ENCODE_FROM(cons_from(z0)) -> c(FROM(from(encArg(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c4(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c4(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c4(ACTIVE(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c4(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c4(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_active(cons_mark(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c1(ACTIVE(mark(nil))) ENCARG(cons_active(cons_mark(nil))) -> c1(ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_and(x0, true))) -> c4(ACTIVE(and(encArg(x0), true)), ENCARG(cons_and(x0, true))) ENCARG(cons_active(cons_and(x0, false))) -> c4(ACTIVE(and(encArg(x0), false)), ENCARG(cons_and(x0, false))) ENCARG(cons_active(cons_and(x0, 0))) -> c4(ACTIVE(and(encArg(x0), 0)), ENCARG(cons_and(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(and(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_and(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_and(x0, cons_add(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(and(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_and(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(and(encArg(x0), from(encArg(z0)))), ENCARG(cons_and(x0, cons_from(z0)))) ENCARG(cons_active(cons_and(true, x1))) -> c4(ACTIVE(and(true, encArg(x1))), ENCARG(cons_and(true, x1))) ENCARG(cons_active(cons_and(false, x1))) -> c4(ACTIVE(and(false, encArg(x1))), ENCARG(cons_and(false, x1))) ENCARG(cons_active(cons_and(0, x1))) -> c4(ACTIVE(and(0, encArg(x1))), ENCARG(cons_and(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_and(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_and(cons_add(z0, z1), x1))) -> c4(ACTIVE(and(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(and(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_and(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(and(from(encArg(z0)), encArg(x1))), ENCARG(cons_and(cons_from(z0), x1))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, nil))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), nil)), ENCARG(cons_if(x0, x1, nil))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_and(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_and(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, x1, cons_add(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_add(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_first(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_first(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_cons(z0, z1)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_cons(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_from(z0)))) -> c4(ACTIVE(if(encArg(x0), encArg(x1), from(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_from(z0)))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c4(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c4(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c4(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, nil, x2))) -> c4(ACTIVE(if(encArg(x0), nil, encArg(x2))), ENCARG(cons_if(x0, nil, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c4(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c4(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_and(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_and(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c4(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(x0, cons_add(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_add(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c4(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_first(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_first(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_cons(z0, z1), x2))) -> c4(ACTIVE(if(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_cons(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_from(z0), x2))) -> c4(ACTIVE(if(encArg(x0), from(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_from(z0), x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c4(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c4(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c4(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(nil, x1, x2))) -> c4(ACTIVE(if(nil, encArg(x1), encArg(x2))), ENCARG(cons_if(nil, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c4(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c4(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_and(z0, z1), x1, x2))) -> c4(ACTIVE(if(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_and(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c4(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_active(cons_if(cons_add(z0, z1), x1, x2))) -> c4(ACTIVE(if(add(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_add(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c4(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_first(z0, z1), x1, x2))) -> c4(ACTIVE(if(first(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_first(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_cons(z0, z1), x1, x2))) -> c4(ACTIVE(if(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_cons(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_from(z0), x1, x2))) -> c4(ACTIVE(if(from(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_from(z0), x1, x2))) ENCARG(cons_active(cons_add(x0, true))) -> c4(ACTIVE(add(encArg(x0), true)), ENCARG(cons_add(x0, true))) ENCARG(cons_active(cons_add(x0, false))) -> c4(ACTIVE(add(encArg(x0), false)), ENCARG(cons_add(x0, false))) ENCARG(cons_active(cons_add(x0, 0))) -> c4(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c4(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c4(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c4(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_and(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(add(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_add(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c4(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_from(z0)))) -> c4(ACTIVE(add(encArg(x0), from(encArg(z0)))), ENCARG(cons_add(x0, cons_from(z0)))) ENCARG(cons_active(cons_add(true, x1))) -> c4(ACTIVE(add(true, encArg(x1))), ENCARG(cons_add(true, x1))) ENCARG(cons_active(cons_add(false, x1))) -> c4(ACTIVE(add(false, encArg(x1))), ENCARG(cons_add(false, x1))) ENCARG(cons_active(cons_add(0, x1))) -> c4(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c4(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c4(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c4(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_and(z0, z1), x1))) -> c4(ACTIVE(add(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(add(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_add(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c4(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c4(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c4(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c4(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_from(z0), x1))) -> c4(ACTIVE(add(from(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_from(z0), x1))) 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_and(z0, z1)))) -> c4(ACTIVE(s(and(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_and(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c4(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c4(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(s(from(encArg(z0)))), ENCARG(cons_s(cons_from(z0)))) ENCARG(cons_active(cons_first(x0, true))) -> c4(ACTIVE(first(encArg(x0), true)), ENCARG(cons_first(x0, true))) ENCARG(cons_active(cons_first(x0, false))) -> c4(ACTIVE(first(encArg(x0), false)), ENCARG(cons_first(x0, false))) ENCARG(cons_active(cons_first(x0, 0))) -> c4(ACTIVE(first(encArg(x0), 0)), ENCARG(cons_first(x0, 0))) ENCARG(cons_active(cons_first(x0, nil))) -> c4(ACTIVE(first(encArg(x0), nil)), ENCARG(cons_first(x0, nil))) ENCARG(cons_active(cons_first(x0, cons_active(z0)))) -> c4(ACTIVE(first(encArg(x0), active(encArg(z0)))), ENCARG(cons_first(x0, cons_active(z0)))) ENCARG(cons_active(cons_first(x0, cons_mark(z0)))) -> c4(ACTIVE(first(encArg(x0), mark(encArg(z0)))), ENCARG(cons_first(x0, cons_mark(z0)))) ENCARG(cons_active(cons_first(x0, cons_and(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), and(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_and(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_if(z0, z1, z2)))) -> c4(ACTIVE(first(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_first(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_first(x0, cons_add(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_s(z0)))) -> c4(ACTIVE(first(encArg(x0), s(encArg(z0)))), ENCARG(cons_first(x0, cons_s(z0)))) ENCARG(cons_active(cons_first(x0, cons_first(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_cons(z0, z1)))) -> c4(ACTIVE(first(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_from(z0)))) -> c4(ACTIVE(first(encArg(x0), from(encArg(z0)))), ENCARG(cons_first(x0, cons_from(z0)))) ENCARG(cons_active(cons_first(true, x1))) -> c4(ACTIVE(first(true, encArg(x1))), ENCARG(cons_first(true, x1))) ENCARG(cons_active(cons_first(false, x1))) -> c4(ACTIVE(first(false, encArg(x1))), ENCARG(cons_first(false, x1))) ENCARG(cons_active(cons_first(0, x1))) -> c4(ACTIVE(first(0, encArg(x1))), ENCARG(cons_first(0, x1))) ENCARG(cons_active(cons_first(nil, x1))) -> c4(ACTIVE(first(nil, encArg(x1))), ENCARG(cons_first(nil, x1))) ENCARG(cons_active(cons_first(cons_active(z0), x1))) -> c4(ACTIVE(first(active(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_active(z0), x1))) ENCARG(cons_active(cons_first(cons_mark(z0), x1))) -> c4(ACTIVE(first(mark(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_mark(z0), x1))) ENCARG(cons_active(cons_first(cons_and(z0, z1), x1))) -> c4(ACTIVE(first(and(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_and(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_if(z0, z1, z2), x1))) -> c4(ACTIVE(first(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_first(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_first(cons_add(z0, z1), x1))) -> c4(ACTIVE(first(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_s(z0), x1))) -> c4(ACTIVE(first(s(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_s(z0), x1))) ENCARG(cons_active(cons_first(cons_first(z0, z1), x1))) -> c4(ACTIVE(first(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_cons(z0, z1), x1))) -> c4(ACTIVE(first(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_from(z0), x1))) -> c4(ACTIVE(first(from(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_from(z0), x1))) ENCARG(cons_active(cons_cons(x0, true))) -> c4(ACTIVE(cons(encArg(x0), true)), ENCARG(cons_cons(x0, true))) ENCARG(cons_active(cons_cons(x0, false))) -> c4(ACTIVE(cons(encArg(x0), false)), ENCARG(cons_cons(x0, false))) ENCARG(cons_active(cons_cons(x0, 0))) -> c4(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) 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_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_if(z0, z1, z2)))) -> c4(ACTIVE(cons(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_cons(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_cons(x0, cons_add(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_add(z0, z1)))) 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_first(z0, z1)))) -> c4(ACTIVE(cons(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_first(z0, z1)))) 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_from(z0)))) -> c4(ACTIVE(cons(encArg(x0), from(encArg(z0)))), ENCARG(cons_cons(x0, cons_from(z0)))) ENCARG(cons_active(cons_cons(true, x1))) -> c4(ACTIVE(cons(true, encArg(x1))), ENCARG(cons_cons(true, x1))) ENCARG(cons_active(cons_cons(false, x1))) -> c4(ACTIVE(cons(false, encArg(x1))), ENCARG(cons_cons(false, x1))) ENCARG(cons_active(cons_cons(0, x1))) -> c4(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, 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_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_if(z0, z1, z2), x1))) -> c4(ACTIVE(cons(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_cons(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_cons(cons_add(z0, z1), x1))) -> c4(ACTIVE(cons(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_add(z0, z1), 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_first(z0, z1), x1))) -> c4(ACTIVE(cons(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_first(z0, z1), 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_from(z0), x1))) -> c4(ACTIVE(cons(from(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_from(z0), 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_and(z0, z1)))) -> c5(MARK(active(and(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_and(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c5(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_active(cons_add(z0, z1)))) -> c5(MARK(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c5(MARK(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) 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_from(z0)))) -> c5(MARK(active(from(encArg(z0)))), ENCARG(cons_active(cons_from(z0)))) 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_and(z0, z1)))) -> c5(MARK(mark(and(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_and(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c5(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_add(z0, z1)))) -> c5(MARK(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) 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_first(z0, z1)))) -> c5(MARK(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) 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_from(z0)))) -> c5(MARK(mark(from(encArg(z0)))), ENCARG(cons_mark(cons_from(z0)))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(nil))) -> c2(MARK(mark(nil))) ENCARG(cons_mark(cons_mark(nil))) -> c2(ENCARG(cons_mark(nil))) ENCARG(cons_and(x0, cons_and(x1, true))) -> c6(AND(encArg(x0), and(encArg(x1), true)), ENCARG(x0), ENCARG(cons_and(x1, true))) ENCARG(cons_and(x0, cons_and(x1, false))) -> c6(AND(encArg(x0), and(encArg(x1), false)), ENCARG(x0), ENCARG(cons_and(x1, false))) ENCARG(cons_and(x0, cons_and(x1, 0))) -> c6(AND(encArg(x0), and(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_and(x1, 0))) ENCARG(cons_and(x0, cons_and(x1, nil))) -> c6(AND(encArg(x0), and(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_and(x1, nil))) ENCARG(cons_and(x0, cons_and(x1, cons_active(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_active(z0)))) ENCARG(cons_and(x0, cons_and(x1, cons_mark(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_mark(z0)))) ENCARG(cons_and(x0, cons_and(x1, cons_and(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_and(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_if(z0, z1, z2)))) -> c6(AND(encArg(x0), and(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_and(x1, cons_if(z0, z1, z2)))) ENCARG(cons_and(x0, cons_and(x1, cons_add(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_add(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_s(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_s(z0)))) ENCARG(cons_and(x0, cons_and(x1, cons_first(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_first(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_cons(z0, z1)))) -> c6(AND(encArg(x0), and(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_and(x1, cons_cons(z0, z1)))) ENCARG(cons_and(x0, cons_and(x1, cons_from(z0)))) -> c6(AND(encArg(x0), and(encArg(x1), from(encArg(z0)))), ENCARG(x0), ENCARG(cons_and(x1, cons_from(z0)))) ENCARG(cons_and(x0, cons_and(true, x2))) -> c6(AND(encArg(x0), and(true, encArg(x2))), ENCARG(x0), ENCARG(cons_and(true, x2))) ENCARG(cons_and(x0, cons_and(false, x2))) -> c6(AND(encArg(x0), and(false, encArg(x2))), ENCARG(x0), ENCARG(cons_and(false, x2))) ENCARG(cons_and(x0, cons_and(0, x2))) -> c6(AND(encArg(x0), and(0, encArg(x2))), ENCARG(x0), ENCARG(cons_and(0, x2))) ENCARG(cons_and(x0, cons_and(nil, x2))) -> c6(AND(encArg(x0), and(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_and(nil, x2))) ENCARG(cons_and(x0, cons_and(cons_active(z0), x2))) -> c6(AND(encArg(x0), and(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_active(z0), x2))) ENCARG(cons_and(x0, cons_and(cons_mark(z0), x2))) -> c6(AND(encArg(x0), and(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_mark(z0), x2))) ENCARG(cons_and(x0, cons_and(cons_and(z0, z1), x2))) -> c6(AND(encArg(x0), and(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_and(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_if(z0, z1, z2), x2))) -> c6(AND(encArg(x0), and(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_if(z0, z1, z2), x2))) ENCARG(cons_and(x0, cons_and(cons_add(z0, z1), x2))) -> c6(AND(encArg(x0), and(add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_add(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_s(z0), x2))) -> c6(AND(encArg(x0), and(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_s(z0), x2))) ENCARG(cons_and(x0, cons_and(cons_first(z0, z1), x2))) -> c6(AND(encArg(x0), and(first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_first(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_cons(z0, z1), x2))) -> c6(AND(encArg(x0), and(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_cons(z0, z1), x2))) ENCARG(cons_and(x0, cons_and(cons_from(z0), x2))) -> c6(AND(encArg(x0), and(from(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_and(cons_from(z0), x2))) ENCARG(cons_and(cons_active(z0), cons_and(x1, x2))) -> c6(AND(active(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_mark(z0), cons_and(x1, x2))) -> c6(AND(mark(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_and(z0, z1), cons_and(x1, x2))) -> c6(AND(and(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_if(z0, z1, z2), cons_and(x1, x2))) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), and(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_add(z0, z1), cons_and(x1, x2))) -> c6(AND(add(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_add(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_s(z0), cons_and(x1, x2))) -> c6(AND(s(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_first(z0, z1), cons_and(x1, x2))) -> c6(AND(first(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_first(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_cons(z0, z1), cons_and(x1, x2))) -> c6(AND(cons(encArg(z0), encArg(z1)), and(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(cons_from(z0), cons_and(x1, x2))) -> c6(AND(from(encArg(z0)), and(encArg(x1), encArg(x2))), ENCARG(cons_from(z0)), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(true, cons_and(x1, x2))) -> c6(AND(true, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(false, cons_and(x1, x2))) -> c6(AND(false, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(0, cons_and(x1, x2))) -> c6(AND(0, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(nil, cons_and(x1, x2))) -> c6(AND(nil, and(encArg(x1), encArg(x2))), ENCARG(cons_and(x1, x2))) ENCARG(cons_and(x0, cons_if(x1, x2, true))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), true)), ENCARG(x0), ENCARG(cons_if(x1, x2, true))) ENCARG(cons_and(x0, cons_if(x1, x2, false))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), false)), ENCARG(x0), ENCARG(cons_if(x1, x2, false))) ENCARG(cons_and(x0, cons_if(x1, x2, 0))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), 0)), ENCARG(x0), ENCARG(cons_if(x1, x2, 0))) ENCARG(cons_and(x0, cons_if(x1, x2, nil))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), nil)), ENCARG(x0), ENCARG(cons_if(x1, x2, nil))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_active(z0)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_active(z0)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_mark(z0)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_mark(z0)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_and(z0, z1)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_and(z0, z1)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_if(z0, z1, z2)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_if(z0, z1, z2)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_add(z0, z1)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), add(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_add(z0, z1)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_s(z0)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_s(z0)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_first(z0, z1)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), first(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_first(z0, z1)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_cons(z0, z1)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_cons(z0, z1)))) ENCARG(cons_and(x0, cons_if(x1, x2, cons_from(z0)))) -> c6(AND(encArg(x0), if(encArg(x1), encArg(x2), from(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_from(z0)))) ENCARG(cons_and(x0, cons_if(x1, true, x3))) -> c6(AND(encArg(x0), if(encArg(x1), true, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, true, x3))) ENCARG(cons_and(x0, cons_if(x1, false, x3))) -> c6(AND(encArg(x0), if(encArg(x1), false, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, false, x3))) ENCARG(cons_and(x0, cons_if(x1, 0, x3))) -> c6(AND(encArg(x0), if(encArg(x1), 0, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, 0, x3))) ENCARG(cons_and(x0, cons_if(x1, nil, x3))) -> c6(AND(encArg(x0), if(encArg(x1), nil, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, nil, x3))) ENCARG(cons_and(x0, cons_if(x1, cons_active(z0), x3))) -> c6(AND(encArg(x0), if(encArg(x1), active(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_active(z0), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_mark(z0), x3))) -> c6(AND(encArg(x0), if(encArg(x1), mark(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_mark(z0), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_and(z0, z1), x3))) -> c6(AND(encArg(x0), if(encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_and(z0, z1), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_if(z0, z1, z2), x3))) -> c6(AND(encArg(x0), if(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_if(z0, z1, z2), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_add(z0, z1), x3))) -> c6(AND(encArg(x0), if(encArg(x1), add(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_add(z0, z1), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_s(z0), x3))) -> c6(AND(encArg(x0), if(encArg(x1), s(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_s(z0), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_first(z0, z1), x3))) -> c6(AND(encArg(x0), if(encArg(x1), first(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_first(z0, z1), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_cons(z0, z1), x3))) -> c6(AND(encArg(x0), if(encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_cons(z0, z1), x3))) ENCARG(cons_and(x0, cons_if(x1, cons_from(z0), x3))) -> c6(AND(encArg(x0), if(encArg(x1), from(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_from(z0), x3))) ENCARG(cons_and(x0, cons_if(true, x2, x3))) -> c6(AND(encArg(x0), if(true, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(true, x2, x3))) ENCARG(cons_and(x0, cons_if(false, x2, x3))) -> c6(AND(encArg(x0), if(false, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(false, x2, x3))) ENCARG(cons_and(x0, cons_if(0, x2, x3))) -> c6(AND(encArg(x0), if(0, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(0, x2, x3))) ENCARG(cons_and(x0, cons_if(nil, x2, x3))) -> c6(AND(encArg(x0), if(nil, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(nil, x2, x3))) ENCARG(cons_and(x0, cons_if(cons_active(z0), x2, x3))) -> c6(AND(encArg(x0), if(active(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_active(z0), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_mark(z0), x2, x3))) -> c6(AND(encArg(x0), if(mark(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_mark(z0), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_and(z0, z1), x2, x3))) -> c6(AND(encArg(x0), if(and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_and(z0, z1), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_if(z0, z1, z2), x2, x3))) -> c6(AND(encArg(x0), if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_if(z0, z1, z2), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_add(z0, z1), x2, x3))) -> c6(AND(encArg(x0), if(add(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_add(z0, z1), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_s(z0), x2, x3))) -> c6(AND(encArg(x0), if(s(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_s(z0), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_first(z0, z1), x2, x3))) -> c6(AND(encArg(x0), if(first(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_first(z0, z1), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_cons(z0, z1), x2, x3))) -> c6(AND(encArg(x0), if(cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_cons(z0, z1), x2, x3))) ENCARG(cons_and(x0, cons_if(cons_from(z0), x2, x3))) -> c6(AND(encArg(x0), if(from(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_from(z0), x2, x3))) ENCARG(cons_and(cons_active(z0), cons_if(x1, x2, x3))) -> c6(AND(active(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_active(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_mark(z0), cons_if(x1, x2, x3))) -> c6(AND(mark(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_mark(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_and(z0, z1), cons_if(x1, x2, x3))) -> c6(AND(and(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_and(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_if(z0, z1, z2), cons_if(x1, x2, x3))) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_add(z0, z1), cons_if(x1, x2, x3))) -> c6(AND(add(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_add(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_s(z0), cons_if(x1, x2, x3))) -> c6(AND(s(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_s(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_first(z0, z1), cons_if(x1, x2, x3))) -> c6(AND(first(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_first(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_cons(z0, z1), cons_if(x1, x2, x3))) -> c6(AND(cons(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(cons_from(z0), cons_if(x1, x2, x3))) -> c6(AND(from(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_from(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(true, cons_if(x1, x2, x3))) -> c6(AND(true, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(false, cons_if(x1, x2, x3))) -> c6(AND(false, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(0, cons_if(x1, x2, x3))) -> c6(AND(0, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(nil, cons_if(x1, x2, x3))) -> c6(AND(nil, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_and(x0, cons_add(x1, true))) -> c6(AND(encArg(x0), add(encArg(x1), true)), ENCARG(x0), ENCARG(cons_add(x1, true))) ENCARG(cons_and(x0, cons_add(x1, false))) -> c6(AND(encArg(x0), add(encArg(x1), false)), ENCARG(x0), ENCARG(cons_add(x1, false))) ENCARG(cons_and(x0, cons_add(x1, 0))) -> c6(AND(encArg(x0), add(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_add(x1, 0))) ENCARG(cons_and(x0, cons_add(x1, nil))) -> c6(AND(encArg(x0), add(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_add(x1, nil))) ENCARG(cons_and(x0, cons_add(x1, cons_active(z0)))) -> c6(AND(encArg(x0), add(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_add(x1, cons_active(z0)))) ENCARG(cons_and(x0, cons_add(x1, cons_mark(z0)))) -> c6(AND(encArg(x0), add(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_add(x1, cons_mark(z0)))) ENCARG(cons_and(x0, cons_add(x1, cons_and(z0, z1)))) -> c6(AND(encArg(x0), add(encArg(x1), and(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_add(x1, cons_and(z0, z1)))) ENCARG(cons_and(x0, cons_add(x1, cons_if(z0, z1, z2)))) -> c6(AND(encArg(x0), add(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_add(x1, cons_if(z0, z1, z2)))) ENCARG(cons_and(x0, cons_add(x1, cons_add(z0, z1)))) -> c6(AND(encArg(x0), add(encArg(x1), add(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_add(x1, cons_add(z0, z1)))) ENCARG(cons_and(x0, cons_add(x1, cons_s(z0)))) -> c6(AND(encArg(x0), add(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_add(x1, cons_s(z0)))) ENCARG(cons_and(x0, cons_add(x1, cons_first(z0, z1)))) -> c6(AND(encArg(x0), add(encArg(x1), first(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_add(x1, cons_first(z0, z1)))) ENCARG(cons_and(x0, cons_add(x1, cons_cons(z0, z1)))) -> c6(AND(encArg(x0), add(encArg(x1), cons(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_add(x1, cons_cons(z0, z1)))) ENCARG(cons_and(x0, cons_add(x1, cons_from(z0)))) -> c6(AND(encArg(x0), add(encArg(x1), from(encArg(z0)))), ENCARG(x0), ENCARG(cons_add(x1, cons_from(z0)))) ENCARG(cons_and(x0, cons_add(true, x2))) -> c6(AND(encArg(x0), add(true, encArg(x2))), ENCARG(x0), ENCARG(cons_add(true, x2))) ENCARG(cons_and(x0, cons_add(false, x2))) -> c6(AND(encArg(x0), add(false, encArg(x2))), ENCARG(x0), ENCARG(cons_add(false, x2))) ENCARG(cons_and(x0, cons_add(0, x2))) -> c6(AND(encArg(x0), add(0, encArg(x2))), ENCARG(x0), ENCARG(cons_add(0, x2))) ENCARG(cons_and(x0, cons_add(nil, x2))) -> c6(AND(encArg(x0), add(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_add(nil, x2))) ENCARG(cons_and(x0, cons_add(cons_active(z0), x2))) -> c6(AND(encArg(x0), add(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_add(cons_active(z0), x2))) ENCARG(cons_and(x0, cons_add(cons_mark(z0), x2))) -> c6(AND(encArg(x0), add(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_add(cons_mark(z0), x2))) ENCARG(cons_and(x0, cons_add(cons_and(z0, z1), x2))) -> c6(AND(encArg(x0), add(and(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_add(cons_and(z0, z1), x2))) ENCARG(cons_and(x0, cons_add(cons_if(z0, z1, z2), x2))) -> c6(AND(encArg(x0), add(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_add(cons_if(z0, z1, z2), x2))) ENCARG(cons_and(x0, cons_add(cons_add(z0, z1), x2))) -> c6(AND(encArg(x0), add(add(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_add(cons_add(z0, z1), x2))) ENCARG(cons_and(x0, cons_add(cons_s(z0), x2))) -> c6(AND(encArg(x0), add(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_add(cons_s(z0), x2))) ENCARG(cons_and(x0, cons_add(cons_first(z0, z1), x2))) -> c6(AND(encArg(x0), add(first(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_add(cons_first(z0, z1), x2))) ENCARG(cons_and(x0, cons_add(cons_cons(z0, z1), x2))) -> c6(AND(encArg(x0), add(cons(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_add(cons_cons(z0, z1), x2))) ENCARG(cons_and(x0, cons_add(cons_from(z0), x2))) -> c6(AND(encArg(x0), add(from(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_add(cons_from(z0), x2))) ENCARG(cons_and(true, cons_add(x1, x2))) -> c6(AND(true, add(encArg(x1), encArg(x2))), ENCARG(true), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(false, cons_add(x1, x2))) -> c6(AND(false, add(encArg(x1), encArg(x2))), ENCARG(false), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(0, cons_add(x1, x2))) -> c6(AND(0, add(encArg(x1), encArg(x2))), ENCARG(0), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(nil, cons_add(x1, x2))) -> c6(AND(nil, add(encArg(x1), encArg(x2))), ENCARG(nil), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(cons_active(z0), cons_add(x1, x2))) -> c6(AND(active(encArg(z0)), add(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(cons_mark(z0), cons_add(x1, x2))) -> c6(AND(mark(encArg(z0)), add(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(cons_and(z0, z1), cons_add(x1, x2))) -> c6(AND(and(encArg(z0), encArg(z1)), add(encArg(x1), encArg(x2))), ENCARG(cons_and(z0, z1)), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(cons_if(z0, z1, z2), cons_add(x1, x2))) -> c6(AND(if(encArg(z0), encArg(z1), encArg(z2)), add(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(cons_add(z0, z1), cons_add(x1, x2))) -> c6(AND(add(encArg(z0), encArg(z1)), add(encArg(x1), encArg(x2))), ENCARG(cons_add(z0, z1)), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(cons_s(z0), cons_add(x1, x2))) -> c6(AND(s(encArg(z0)), add(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(cons_first(z0, z1), cons_add(x1, x2))) -> c6(AND(first(encArg(z0), encArg(z1)), add(encArg(x1), encArg(x2))), ENCARG(cons_first(z0, z1)), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(cons_cons(z0, z1), cons_add(x1, x2))) -> c6(AND(cons(encArg(z0), encArg(z1)), add(encArg(x1), encArg(x2))), ENCARG(cons_cons(z0, z1)), ENCARG(cons_add(x1, x2))) ENCARG(cons_and(cons_from(z0), cons_add(x1, x2))) -> c6(AND(from(encArg(z0)), add(encArg(x1), encArg(x2))), ENCARG(cons_from(z0)), ENCARG(cons_add(x1, x2))) S tuples: ACTIVE(and(true, z0)) -> c26(MARK(z0)) ACTIVE(and(false, z0)) -> c27(MARK(false)) ACTIVE(if(true, z0, z1)) -> c28(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c29(MARK(z1)) ACTIVE(add(0, z0)) -> c30(MARK(z0)) ACTIVE(first(0, z0)) -> c32(MARK(nil)) AND(mark(z0), z1) -> c46(AND(z0, z1)) AND(z0, mark(z1)) -> c47(AND(z0, z1)) AND(active(z0), z1) -> c48(AND(z0, z1)) AND(z0, active(z1)) -> c49(AND(z0, z1)) IF(mark(z0), z1, z2) -> c50(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c51(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c52(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c53(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c54(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c55(IF(z0, z1, z2)) ADD(mark(z0), z1) -> c56(ADD(z0, z1)) ADD(z0, mark(z1)) -> c57(ADD(z0, z1)) ADD(active(z0), z1) -> c58(ADD(z0, z1)) ADD(z0, active(z1)) -> c59(ADD(z0, z1)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) FIRST(mark(z0), z1) -> c62(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c63(FIRST(z0, z1)) FIRST(active(z0), z1) -> c64(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c65(FIRST(z0, z1)) CONS(mark(z0), z1) -> c66(CONS(z0, z1)) CONS(z0, mark(z1)) -> c67(CONS(z0, z1)) CONS(active(z0), z1) -> c68(CONS(z0, z1)) CONS(z0, active(z1)) -> c69(CONS(z0, z1)) FROM(mark(z0)) -> c70(FROM(z0)) FROM(active(z0)) -> c71(FROM(z0)) MARK(true) -> c36 MARK(false) -> c37 MARK(0) -> c40 MARK(s(z0)) -> c41(S(z0)) MARK(nil) -> c43 MARK(cons(z0, z1)) -> c44(CONS(z0, z1)) ACTIVE(first(s(z0), cons(z1, z2))) -> c(MARK(cons(z1, first(z0, z2)))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(CONS(z1, first(z0, z2))) ACTIVE(first(s(z0), cons(z1, z2))) -> c(FIRST(z0, z2)) MARK(from(z0)) -> c(ACTIVE(from(z0))) MARK(from(z0)) -> c(FROM(z0)) ACTIVE(add(s(z0), z1)) -> c(MARK(s(add(z0, z1)))) ACTIVE(add(s(z0), z1)) -> c(ADD(z0, z1)) ACTIVE(from(z0)) -> c(MARK(cons(z0, from(s(z0))))) ACTIVE(from(z0)) -> c(S(z0)) MARK(and(z0, z1)) -> c35(ACTIVE(and(z0, z1)), AND(mark(z0), z1), MARK(z0)) MARK(and(and(z0, z1), x1)) -> c35(ACTIVE(and(active(and(mark(z0), z1)), x1)), AND(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(and(true, x1)) -> c35(ACTIVE(and(active(true), x1)), AND(mark(true), x1), MARK(true)) MARK(and(false, x1)) -> c35(ACTIVE(and(active(false), x1)), AND(mark(false), x1), MARK(false)) MARK(and(if(z0, z1, z2), x1)) -> c35(ACTIVE(and(active(if(mark(z0), z1, z2)), x1)), AND(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(and(add(z0, z1), x1)) -> c35(ACTIVE(and(active(add(mark(z0), z1)), x1)), AND(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(and(0, x1)) -> c35(ACTIVE(and(active(0), x1)), AND(mark(0), x1), MARK(0)) MARK(and(s(z0), x1)) -> c35(ACTIVE(and(active(s(z0)), x1)), AND(mark(s(z0)), x1), MARK(s(z0))) MARK(and(first(z0, z1), x1)) -> c35(ACTIVE(and(active(first(mark(z0), mark(z1))), x1)), AND(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(and(nil, x1)) -> c35(ACTIVE(and(active(nil), x1)), AND(mark(nil), x1), MARK(nil)) MARK(and(cons(z0, z1), x1)) -> c35(ACTIVE(and(active(cons(z0, z1)), x1)), AND(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(and(from(z0), x1)) -> c35(ACTIVE(and(active(from(z0)), x1)), AND(mark(from(z0)), x1), MARK(from(z0))) MARK(and(x0, x1)) -> c35(AND(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c38(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(and(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(and(mark(z0), z1)), x1, x2)), IF(mark(and(z0, z1)), x1, x2), MARK(and(z0, z1))) MARK(if(true, x1, x2)) -> c38(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c38(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c38(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(add(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(add(mark(z0), z1)), x1, x2)), IF(mark(add(z0, z1)), x1, x2), MARK(add(z0, z1))) MARK(if(0, x1, x2)) -> c38(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c38(ACTIVE(if(active(s(z0)), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(first(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(first(mark(z0), mark(z1))), x1, x2)), IF(mark(first(z0, z1)), x1, x2), MARK(first(z0, z1))) MARK(if(nil, x1, x2)) -> c38(ACTIVE(if(active(nil), x1, x2)), IF(mark(nil), x1, x2), MARK(nil)) MARK(if(cons(z0, z1), x1, x2)) -> c38(ACTIVE(if(active(cons(z0, z1)), x1, x2)), IF(mark(cons(z0, z1)), x1, x2), MARK(cons(z0, z1))) MARK(if(from(z0), x1, x2)) -> c38(ACTIVE(if(active(from(z0)), x1, x2)), IF(mark(from(z0)), x1, x2), MARK(from(z0))) MARK(if(x0, x1, x2)) -> c38(IF(mark(x0), x1, x2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(z0, z1)), ADD(mark(z0), z1), MARK(z0)) MARK(add(and(z0, z1), x1)) -> c39(ACTIVE(add(active(and(mark(z0), z1)), x1)), ADD(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(add(true, x1)) -> c39(ACTIVE(add(active(true), x1)), ADD(mark(true), x1), MARK(true)) MARK(add(false, x1)) -> c39(ACTIVE(add(active(false), x1)), ADD(mark(false), x1), MARK(false)) MARK(add(if(z0, z1, z2), x1)) -> c39(ACTIVE(add(active(if(mark(z0), z1, z2)), x1)), ADD(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(add(add(z0, z1), x1)) -> c39(ACTIVE(add(active(add(mark(z0), z1)), x1)), ADD(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), x1)), ADD(mark(0), x1), MARK(0)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(z0)), x1)), ADD(mark(s(z0)), x1), MARK(s(z0))) MARK(add(first(z0, z1), x1)) -> c39(ACTIVE(add(active(first(mark(z0), mark(z1))), x1)), ADD(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(add(nil, x1)) -> c39(ACTIVE(add(active(nil), x1)), ADD(mark(nil), x1), MARK(nil)) MARK(add(cons(z0, z1), x1)) -> c39(ACTIVE(add(active(cons(z0, z1)), x1)), ADD(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(add(from(z0), x1)) -> c39(ACTIVE(add(active(from(z0)), x1)), ADD(mark(from(z0)), x1), MARK(from(z0))) MARK(add(x0, x1)) -> c39(ADD(mark(x0), x1)) MARK(first(z0, x1)) -> c42(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c42(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, and(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(and(mark(z0), z1)))), FIRST(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(first(x0, true)) -> c42(ACTIVE(first(mark(x0), active(true))), FIRST(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(first(x0, false)) -> c42(ACTIVE(first(mark(x0), active(false))), FIRST(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(first(x0, if(z0, z1, z2))) -> c42(ACTIVE(first(mark(x0), active(if(mark(z0), z1, z2)))), FIRST(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(first(x0, add(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(add(mark(z0), z1)))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, 0)) -> c42(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, s(z0))) -> c42(ACTIVE(first(mark(x0), active(s(z0)))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, first(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(first(mark(z0), mark(z1))))), FIRST(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(first(x0, nil)) -> c42(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, cons(z0, z1))) -> c42(ACTIVE(first(mark(x0), active(cons(z0, z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, from(z0))) -> c42(ACTIVE(first(mark(x0), active(from(z0)))), FIRST(mark(x0), mark(from(z0))), MARK(x0), MARK(from(z0))) MARK(first(and(z0, z1), x1)) -> c42(ACTIVE(first(active(and(mark(z0), z1)), mark(x1))), FIRST(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(first(true, x1)) -> c42(ACTIVE(first(active(true), mark(x1))), FIRST(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(first(false, x1)) -> c42(ACTIVE(first(active(false), mark(x1))), FIRST(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(first(if(z0, z1, z2), x1)) -> c42(ACTIVE(first(active(if(mark(z0), z1, z2)), mark(x1))), FIRST(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c42(ACTIVE(first(active(add(mark(z0), z1)), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(0, x1)) -> c42(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(s(z0), x1)) -> c42(ACTIVE(first(active(s(z0)), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c42(ACTIVE(first(active(first(mark(z0), mark(z1))), mark(x1))), FIRST(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(first(nil, x1)) -> c42(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c42(ACTIVE(first(active(cons(z0, z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(from(z0), x1)) -> c42(ACTIVE(first(active(from(z0)), mark(x1))), FIRST(mark(from(z0)), mark(x1)), MARK(from(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, if_3, add_2, s_1, first_2, cons_2, from_1 Defined Pair Symbols: ACTIVE_1, AND_2, IF_3, ADD_2, S_1, FIRST_2, CONS_2, FROM_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_IF_3, ENCODE_ADD_2, ENCODE_S_1, ENCODE_FIRST_2, ENCODE_CONS_2, ENCODE_FROM_1 Compound Symbols: c26_1, c27_1, c28_1, c29_1, c30_1, c32_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c65_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c36, c37, c40, c41_1, c43, c44_1, c_1, c4_2, c5_2, c5_1, c6_3, c6_2, c7_4, c7_3, c8_3, c8_2, c9_2, c10_3, c10_2, c11_3, c11_2, c12_2, c35_3, c35_1, c38_3, c38_1, c39_3, c39_1, c42_4, c1_1, c2_1